diff --git a/access/migrations/0003_auto_20171019_1149.py b/access/migrations/0003_auto_20171019_1149.py
new file mode 100644
index 0000000..ee6ab96
--- /dev/null
+++ b/access/migrations/0003_auto_20171019_1149.py
@@ -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),
+ ),
+ ]
diff --git a/access/migrations/0004_auto_20171019_1150.py b/access/migrations/0004_auto_20171019_1150.py
new file mode 100644
index 0000000..0612a9e
--- /dev/null
+++ b/access/migrations/0004_auto_20171019_1150.py
@@ -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),
+ ),
+ ]
diff --git a/access/migrations/0005_auto_20171019_1241.py b/access/migrations/0005_auto_20171019_1241.py
new file mode 100644
index 0000000..c962a23
--- /dev/null
+++ b/access/migrations/0005_auto_20171019_1241.py
@@ -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),
+ ),
+ ]
diff --git a/access/migrations/0006_auto_20171019_1243.py b/access/migrations/0006_auto_20171019_1243.py
new file mode 100644
index 0000000..92d2c1d
--- /dev/null
+++ b/access/migrations/0006_auto_20171019_1243.py
@@ -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),
+ ),
+ ]
diff --git a/access/models.py b/access/models.py
index 8f7966d..e707f8b 100755
--- a/access/models.py
+++ b/access/models.py
@@ -3,6 +3,7 @@ import random
import string
from courses.models import Vertex, Course
from storage.models import Storage
+from django.core.mail import send_mail
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
from django.contrib.auth.models import PermissionsMixin, Group
@@ -26,11 +27,11 @@ class Invite(models.Model):
class Account(models.Model):
- GENDER_CHOICES = {
+ GENDER_CHOICES = (
(0, 'undefined'),
(1, 'male'),
(2, 'female'),
- }
+ )
b_day = models.DateField(blank=True, null=True)
city = models.CharField(max_length=63, null=True, blank=True)
gender = models.SmallIntegerField(choices=GENDER_CHOICES, default=0)
@@ -77,7 +78,7 @@ class CustomUserManager(BaseUserManager):
email = self.normalize_email(email)
- user = self.model(email=email, is_staff=is_staff, is_active=is_active, first_name=first_name,
+ user = self.model(email=email, is_staff=is_staff, is_active=is_active, first_name=first_name, id=self.last().id +1,
is_superuser=is_superuser, date_joined=date_joined, last_login=last_login, **extra_fields)
if not password:
@@ -97,9 +98,16 @@ class CustomUserManager(BaseUserManager):
user.groups.add(Group.objects.get(name=group))
if is_send:
- pass
- Invite.objects.create(owner=user, hash=''.join(random.choice(string.ascii_letters) for x in range(15)))
- # Должна идти отбивка
+ invite = Invite.objects.create(owner=user, hash=''.join(random.choice(string.ascii_letters) for x in range(15)))
+ send_mail(
+ subject='Спасибо за регистрацию',
+ message='''
+ Вы были успешны зарегистрированны на портале go.skillbox.ru
+ для подтверждения регистрации перейдите по ссылке
+ https://go.skillbox.ru/api/v1/users/registration/?hash=''' + invite.hash,
+ from_email='robo@skillbox.ru',
+ recipient_list=[user.email],
+ )
return user
def create_user(self, email, password, **extra_fields):
@@ -109,10 +117,7 @@ class CustomUserManager(BaseUserManager):
return self._create_user(email=email, password=password, is_superuser=True, is_staff=True, is_active=True)
def create_student(self, email, password, **extra_fields):
- user = self.create_user(email=email, password=password, is_send=True, **extra_fields)
- group = Group.objects.get(name='students')
- user.groups.add(group)
- return user
+ return self.create_user(email=email, password=password, role_list=['students'], is_send=True, **extra_fields)
class User(AbstractBaseUser, PermissionsMixin):
diff --git a/access/serializers.py b/access/serializers.py
index c1d9582..803ee08 100644
--- a/access/serializers.py
+++ b/access/serializers.py
@@ -17,15 +17,20 @@ class AccountSerializer(serializers.ModelSerializer):
class UserInitSerializer(serializers.ModelSerializer):
account = serializers.SerializerMethodField()
+ groups = serializers.SerializerMethodField()
class Meta:
model = get_user_model()
- fields = ('id', 'email', 'first_name', 'last_name', 'account', )
+ fields = ('id', 'email', 'first_name', 'last_name', 'account', 'groups', 'is_staff', 'is_superuser')
@staticmethod
def get_account(self):
return AccountSerializer(self.account).data
+ @staticmethod
+ def get_groups(self):
+ return [group.name for group in self.groups.all()]
+
class ExtraPrivilegeSerializer(serializers.ModelSerializer):
class Meta:
diff --git a/access/tasks.py b/access/tasks.py
index 117a22b..93bc02e 100755
--- a/access/tasks.py
+++ b/access/tasks.py
@@ -4,32 +4,32 @@ from datetime import timedelta, datetime
from access.models import User, TrafSource, TrafTokenHistory
-@periodic_task(run_every=timedelta(minutes=20))
-def check_prepo_delay():
- # Проверка просроченых задач преподавателя
- for res in User.objects.filter(delay_date__lte=datetime.now(), in_role='T'):
- res.delay = False
- res.delay_description = ''
- res.delay_date = None
- res.save()
-
-
-@periodic_task(run_every=timedelta(minutes=1))
-def check_online():
- for user in User.objects.filter(status='ON', last_time__lte=datetime.now()-timedelta(minutes=10)):
- user.status = 'OFF'
- user.save()
-
-
-@periodic_task(run_every=timedelta(hours=1))
-def check_traf_source():
- for source in TrafSource.objects.filter(on=True).exclude(live_time=None):
- if source.token and source.token_start + timedelta(hours=source.live_time) < datetime.now():
- source.on = False
- TrafTokenHistory.objects.create(token=source.token, source=source, live_time=source.live_time, date_start=source.token_start, date_end=datetime.now())
- source.token = None
- source.token_start = None
- source.save()
+# @periodic_task(run_every=timedelta(minutes=20))
+# def check_prepo_delay():
+# # Проверка просроченых задач преподавателя
+# for res in User.objects.filter(delay_date__lte=datetime.now(), in_role='T'):
+# res.delay = False
+# res.delay_description = ''
+# res.delay_date = None
+# res.save()
+#
+#
+# @periodic_task(run_every=timedelta(minutes=1))
+# def check_online():
+# for user in User.objects.filter(status='ON', last_time__lte=datetime.now()-timedelta(minutes=10)):
+# user.status = 'OFF'
+# user.save()
+#
+#
+# @periodic_task(run_every=timedelta(hours=1))
+# def check_traf_source():
+# for source in TrafSource.objects.filter(on=True).exclude(live_time=None):
+# if source.token and source.token_start + timedelta(hours=source.live_time) < datetime.now():
+# source.on = False
+# TrafTokenHistory.objects.create(token=source.token, source=source, live_time=source.live_time, date_start=source.token_start, date_end=datetime.now())
+# source.token = None
+# source.token_start = None
+# source.save()
#@periodic_task(run_every=timedelta(minutes=1))
diff --git a/access/views.py b/access/views.py
index e64d328..7a52eca 100644
--- a/access/views.py
+++ b/access/views.py
@@ -1,9 +1,11 @@
from django.contrib.auth import get_user_model
from django.contrib import auth
+from django.shortcuts import redirect
from rest_framework.views import APIView
from rest_framework.renderers import JSONRenderer
from rest_framework.response import Response
+from access.models import Invite
from access.serializers import UserInitSerializer
@@ -20,7 +22,7 @@ class CheckUserView(APIView):
status_code = 200
def get(self, request):
- if request.user.is_authenticated() and (request.user.is_staff or request.user.is_admin):
+ if request.user.is_authenticated() and (request.user.is_staff or request.user.is_superuser):
return Response(True, status=self.status_code)
return Response(False, status=self.status_code)
@@ -38,17 +40,28 @@ class InfoUserView(APIView):
class RegistrationView(APIView):
renderer_classes = (JSONRenderer,)
+ @staticmethod
+ def get(request):
+ try:
+ invite = Invite.objects.get(hash=request.GET['hash'])
+ invite.owner.is_active = True
+ invite.owner.save()
+ auth.login(request, invite.owner)
+ invite.delete()
+ return redirect('/')
+ except Invite.DoesNotExist:
+ return Response('Приглошения не существует возможно оно сгорело', status=404)
+
@staticmethod
def post(request):
try:
- user = get_user_model().objects.get(email=request.JSON['email'].lower())
+ get_user_model().objects.get(email=request.JSON['email'].lower())
+ return Response('user already exist', status=403)
except get_user_model().DoesNotExist:
- user = get_user_model().objects.create_user(
+ user = get_user_model().objects.create_student(
email=request.JSON['email'].lower(),
+ password=request.JSON['password']
)
- user.set_password(request.JSON['password'])
- user.reg_status = '2'
- user.save()
return Response(UserInitSerializer(user).data, status=200)
diff --git a/config_app/__init__.py b/config_app/__init__.py
new file mode 100644
index 0000000..c5441f7
--- /dev/null
+++ b/config_app/__init__.py
@@ -0,0 +1 @@
+default_app_config = "config_app.apps.ConfigAppConfig"
diff --git a/config_app/apps.py b/config_app/apps.py
new file mode 100644
index 0000000..ae86c7d
--- /dev/null
+++ b/config_app/apps.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+from django.apps import AppConfig
+
+
+class ConfigAppConfig(AppConfig):
+ name = "config_app"
+ verbose_name = "Конфиги"
\ No newline at end of file
diff --git a/service/migrations/__init__.py b/config_app/management/__init__.py
old mode 100755
new mode 100644
similarity index 100%
rename from service/migrations/__init__.py
rename to config_app/management/__init__.py
diff --git a/config_app/management/commands/__init__.py b/config_app/management/commands/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/config_app/management/commands/clear_log.py b/config_app/management/commands/clear_log.py
new file mode 100644
index 0000000..bc1cf88
--- /dev/null
+++ b/config_app/management/commands/clear_log.py
@@ -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'])
\ No newline at end of file
diff --git a/config_app/settings/__init__.py b/config_app/settings/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/config_app/settings/dev.env b/config_app/settings/dev.env
new file mode 100644
index 0000000..4207109
--- /dev/null
+++ b/config_app/settings/dev.env
@@ -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
\ No newline at end of file
diff --git a/config_app/settings/prod.env b/config_app/settings/prod.env
new file mode 100644
index 0000000..6f33e00
--- /dev/null
+++ b/config_app/settings/prod.env
@@ -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
\ No newline at end of file
diff --git a/config_app/settings/test.env b/config_app/settings/test.env
new file mode 100644
index 0000000..3a1aac2
--- /dev/null
+++ b/config_app/settings/test.env
@@ -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
\ No newline at end of file
diff --git a/config_app/supervisor_configs/celery.conf b/config_app/supervisor_configs/celery.conf
new file mode 100644
index 0000000..50e0e96
--- /dev/null
+++ b/config_app/supervisor_configs/celery.conf
@@ -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
\ No newline at end of file
diff --git a/config_app/supervisor_configs/flower.conf b/config_app/supervisor_configs/flower.conf
new file mode 100644
index 0000000..406f2a7
--- /dev/null
+++ b/config_app/supervisor_configs/flower.conf
@@ -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
\ No newline at end of file
diff --git a/config_app/supervisor_configs/schedule.conf b/config_app/supervisor_configs/schedule.conf
new file mode 100644
index 0000000..8b7e176
--- /dev/null
+++ b/config_app/supervisor_configs/schedule.conf
@@ -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
\ No newline at end of file
diff --git a/courses/__init__.py b/courses/__init__.py
index 9c23fe4..354e387 100755
--- a/courses/__init__.py
+++ b/courses/__init__.py
@@ -1 +1 @@
-default_app_config = "courses.apps.CoursesAppConfig"
\ No newline at end of file
+default_app_config = "courses.apps.CoursesAppConfig"
diff --git a/courses/models.py b/courses/models.py
index 9745faa..46281f3 100755
--- a/courses/models.py
+++ b/courses/models.py
@@ -73,6 +73,38 @@ class Course(models.Model):
return {"topic_count": topic_count, "tutorial_count": tutorial_count, "task_count": task_count}
+ def get_first(self, vertex_model_list=None):
+ if vertex_model_list is None:
+ vertex_model_list = ['topic', 'tutorial', 'task']
+
+ else:
+ for i in vertex_model_list:
+ if i not in ['topic', 'tutorial', 'task']:
+ raise ValueError('undefined model: ' + i)
+
+ vertex = Vertex.objects.get(id=self.coursemap.get_first())
+
+ if vertex.content_type.model in vertex_model_list:
+ return vertex
+
+ return vertex.get_next(vertex_model_list)
+
+ def get_last(self, vertex_model_list=None):
+ if vertex_model_list is None:
+ vertex_model_list = ['topic', 'tutorial', 'task']
+
+ else:
+ for i in vertex_model_list:
+ if i not in ['topic', 'tutorial', 'task']:
+ raise ValueError('undefined model: ' + i)
+
+ vertex = Vertex.objects.get(id=self.coursemap.get_last())
+
+ if vertex.content_type.model in vertex_model_list:
+ return vertex
+
+ return vertex.get_previous(vertex_model_list)
+
class Meta:
verbose_name = u"Курс"
verbose_name_plural = u"Курсы"
@@ -181,9 +213,37 @@ class Vertex(models.Model):
def __str__(self):
return self.title + ': ' + str(self.content_type.model)
- def get_next(self):
+ def get_next(self, vertex_model_list=None):
+ if vertex_model_list is None:
+ vertex_model_list = ['topic', 'tutorial', 'task']
+
+ else:
+ for i in vertex_model_list:
+ if i not in ['topic', 'tutorial', 'task']:
+ raise ValueError('undefined model: ' + i)
+
vertex_id = CourseMap.objects.get(course=self.course).get_next(self.id)
- return Vertex.objects.get(id=int(vertex_id), )
+ vertex = Vertex.objects.get(id=int(vertex_id),)
+
+ if vertex.content_type.model in vertex_model_list:
+ return vertex
+ return vertex.get_next(vertex_model_list)
+
+ def get_previous(self, vertex_model_list=None):
+ if vertex_model_list is None:
+ vertex_model_list = ['topic', 'tutorial', 'task']
+
+ else:
+ for i in vertex_model_list:
+ if i not in ['topic', 'tutorial', 'task']:
+ raise ValueError('undefined model: ' + i)
+
+ vertex_id = CourseMap.objects.get(course=self.course).get_previous(self.id)
+ vertex = Vertex.objects.get(id=int(vertex_id),)
+
+ if vertex.content_type.model in vertex_model_list:
+ return vertex
+ return vertex.get_previous(vertex_model_list)
def is_more(self, vertex) -> bool:
if not self.course == vertex.course:
@@ -255,9 +315,22 @@ class CourseMap(models.Model):
return helper(json.loads(self.dependent_elements))
- def get_next(self, vertex_id) -> str:
+ def get_next(self, vertex_id) -> int:
res_list = self.map_to_list()
if not res_list[-1] == vertex_id:
- return res_list[res_list.index(vertex_id)+1]
+ return res_list[res_list.index(vertex_id) + 1]
error = "vertex_id " + str(vertex_id) + " last object in list\n" + ",".join([str(v) for v in res_list])
raise ValueError(error)
+
+ def get_previous(self, vertex_id) -> int:
+ res_list = self.map_to_list()
+ if not res_list[0] == vertex_id:
+ return res_list[res_list.index(vertex_id) - 1]
+ error = "vertex_id " + str(vertex_id) + " first object in list\n" + ",".join([str(v) for v in res_list])
+ raise ValueError(error)
+
+ def get_first(self):
+ return self.map_to_list()[0]
+
+ def get_last(self):
+ return self.map_to_list()[-1]
diff --git a/csv/load_perm.py b/csv/load_perm.py
index ee180e6..c565558 100644
--- a/csv/load_perm.py
+++ b/csv/load_perm.py
@@ -6,7 +6,7 @@ django.setup()
from django.contrib.auth import get_user_model
from access.models import Progress
-from courses.models import Vertex
+from courses.models import Vertex, Course
if __name__ == '__main__':
with open('./access/progress.csv') as progress_csv:
@@ -23,13 +23,29 @@ if __name__ == '__main__':
get_id = int(row['last_success_obj'])+10000
vertex = Vertex.objects.get(content_type__model='task', object_id=str(get_id))
- if vertex:
- try:
+ course = Course.objects.get(id=row['course'])
+
+ try:
+ if vertex and not vertex == course.get_last(['task', 'tutorial']):
+ Progress.objects.get_or_create(
+ user=get_user_model().objects.get(id=row['user']),
+ course=course,
+ active_obj=vertex.get_next(['task', 'tutorial'])
+ )
+
+ elif vertex and vertex == course.get_last(['task', 'tutorial']):
+ Progress.objects.get_or_create(
+ user=get_user_model().objects.get(id=row['user']),
+ course=course,
+ success=True
+ )
+
+ else:
Progress.objects.get_or_create(
user=get_user_model().objects.get(id=row['user']),
- course_id=row['course'],
- active_obj=vertex.get_next()
+ course=course,
+ active_obj=course.get_first(['task', 'tutorial'])
)
- except get_user_model().DoesNotExist:
- print(row['user'])
\ No newline at end of file
+ except get_user_model().DoesNotExist:
+ print(row['user'])
\ No newline at end of file
diff --git a/finance/models.py b/finance/models.py
index af52c73..54253ca 100755
--- a/finance/models.py
+++ b/finance/models.py
@@ -2,7 +2,6 @@
from django.db import models
from django.conf import settings
from courses.models import Course, Vertex
-from service.models import MailBox
class Price(models.Model):
diff --git a/finance/tasks.py b/finance/tasks.py
index bc1ace7..2fe4319 100755
--- a/finance/tasks.py
+++ b/finance/tasks.py
@@ -8,33 +8,33 @@ from finance.models import Price, Bill, ServiceRequest
from courses.models import CourseMap
-@periodic_task(run_every=timedelta(minutes=1))
-def price_map_migrator():
- for price in Price.objects.filter(included=None).exclude(course=None):
- if not price.included.exists():
- inc_type = []
-
- if price.m_type == 'B':
- inc_type = ['B']
- elif price.m_type == 'E':
- inc_type = ['B', 'E']
- elif price.m_type == 'P':
- inc_type = ['B', 'E', 'P']
- for m in CourseMap.objects.filter(course=price.course):
- if m.get_obj().theme.price_type in inc_type:
- price.included.add(m)
-
-
-@periodic_task(run_every=timedelta(hours=1))
-def price_map_migrator():
- for price in Price.objects.exclude(by_time=None):
- for bill in Bill.objects.filter(service=price, fire_date__lt=datetime.now()):
- bill.status = 'H'
- bill.save()
-
-
-@periodic_task(run_every=timedelta(minutes=1))
-def sent_service_request_to_amo():
- sr = ServiceRequest.objects.filter(send=False, send_date__lt=datetime.now()).exclude(Q(name='TEST')| Q(status='E')).first()
- if sr:
- sr.sent_to_amo()
+# @periodic_task(run_every=timedelta(minutes=1))
+# def price_map_migrator():
+# for price in Price.objects.filter(included=None).exclude(course=None):
+# if not price.included.exists():
+# inc_type = []
+#
+# if price.m_type == 'B':
+# inc_type = ['B']
+# elif price.m_type == 'E':
+# inc_type = ['B', 'E']
+# elif price.m_type == 'P':
+# inc_type = ['B', 'E', 'P']
+# for m in CourseMap.objects.filter(course=price.course):
+# if m.get_obj().theme.price_type in inc_type:
+# price.included.add(m)
+#
+#
+# @periodic_task(run_every=timedelta(hours=1))
+# def price_map_migrator():
+# for price in Price.objects.exclude(by_time=None):
+# for bill in Bill.objects.filter(service=price, fire_date__lt=datetime.now()):
+# bill.status = 'H'
+# bill.save()
+#
+#
+# @periodic_task(run_every=timedelta(minutes=1))
+# def sent_service_request_to_amo():
+# sr = ServiceRequest.objects.filter(send=False, send_date__lt=datetime.now()).exclude(Q(name='TEST')| Q(status='E')).first()
+# if sr:
+# sr.sent_to_amo()
diff --git a/finance/yandex_pay.py b/finance/yandex_pay.py
index 02a1aa1..6707370 100644
--- a/finance/yandex_pay.py
+++ b/finance/yandex_pay.py
@@ -1,11 +1,12 @@
# coding=utf-8
import datetime
from hashlib import md5
+
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
from finance.models import Bill, YandexKassaHistory
-from lms.settings import YANDEX_MONEY_SHOP_PASSWORD
+from settings.settings import YANDEX_MONEY_SHOP_PASSWORD
def gen_md5(cd):
diff --git a/journals/models.py b/journals/models.py
index c6b2ee6..e0ef49c 100755
--- a/journals/models.py
+++ b/journals/models.py
@@ -2,6 +2,7 @@
from __future__ import unicode_literals
from django.conf import settings
+from django.contrib.auth.models import Group
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.db import models
@@ -45,6 +46,7 @@ class Thread(models.Model):
is_staff = models.BooleanField(default=False, verbose_name=u'Админская ли табличка')
recurse_step = models.SmallIntegerField(default=0, verbose_name=u'Поле аптимизации поиска')
subscribers = models.ManyToManyField(to=settings.AUTH_USER_MODEL, verbose_name=u'Подписчики', blank=True)
+ groups = models.ManyToManyField(to=Group, verbose_name=u'Подписчики', blank=True)
check_subscribe = models.BooleanField(default=True, verbose_name='Проверять ли подписки')
parent = models.ManyToManyField(to='self', blank=True, symmetrical=False)
x = models.SmallIntegerField(default=300)
diff --git a/journals/tasks.py b/journals/tasks.py
index ab04e2e..5c530ed 100755
--- a/journals/tasks.py
+++ b/journals/tasks.py
@@ -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()
-
-
-#@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)
+from access.models import User
+from journals.models import ExamTry, HomeworkTry, DiplomaJ
+from settings.settings import TEACHER
-@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()
+# @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 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()
diff --git a/lms/__init__.py b/lms/__init__.py
index e69de29..d618d8a 100644
--- a/lms/__init__.py
+++ b/lms/__init__.py
@@ -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']
\ No newline at end of file
diff --git a/lms/celery.py b/lms/celery.py
new file mode 100644
index 0000000..5f3c106
--- /dev/null
+++ b/lms/celery.py
@@ -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))
\ No newline at end of file
diff --git a/lms/settings.py b/lms/settings.py
index 4d75dd2..a421324 100644
--- a/lms/settings.py
+++ b/lms/settings.py
@@ -1,51 +1,50 @@
# coding=utf-8
import os
+
import raven
-# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
-BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+import environ
+root = environ.Path(__file__) - 2
+env = environ.Env()
+MOD = os.environ.get('MOD', 'Dev')
-# Quick-start development settings - unsuitable for production
-# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/
-
-# SECURITY WARNING: keep the secret key used in production secret!
-SECRET_KEY = '!eiquy7_+2#vn3z%zfp51$m-=tmvtcv*cj*@x$!v(_9btq0w=$'
-COMMENT_SECRET = 'ntyy70()&^&%)_^%#++i[k,q4jnb'
-
-# SECURITY WARNING: don't run with debug turned on in production!
-DEBUG = False if os.environ.get('DEBUG', 'False') == 'False' else True
-
-TESTING = False
-TEST_EMAIL = 'bez.b.unix@gmail.com'
-TEACHER = 't@skillbox.ru'
-SUPERVISOR = 's@skillbox.ru'
-MANAGER = 'm@skillbox.ru'
-MANAGERS = [
- 'maksim.shachkov@skillbox.ru',
- 'aleksey.zelentsov@skillbox.ru',
- 'roman.fatullaev@skillbox.ru',
- 'vladimir.kakaulin@skillbox.ru',
- 'dmitry.perepelitsa@skillbox.ru',
- 'timofey.trifonov@skillbox.ru',
- 'sergej.gavrilovich@skillbox.ru',
-]
+if MOD == 'Test':
+ environ.Env.read_env(str(root) + '/config_app/settings/test.env')
+
+elif MOD == 'Dev':
+ environ.Env.read_env(str(root) + '/config_app/settings/dev.env')
+
+elif MOD == 'Prod':
+ environ.Env.read_env(str(root) + '/config_app/settings/prod.env')
+
+else:
+ raise ImportError('no such environ ' + MOD)
+
+EMAIL_CONFIG = env.email_url('EMAIL_URL',)
+vars().update(EMAIL_CONFIG)
+
+BROKER_URL = 'amqp://guest:guest@localhost:5672//'
+CELERY_RESULT_BACKEND = 'django-db'
+CELERY_CACHE_BACKEND = 'django-cache'
+BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 180}
+
+CELERY_EMAIL_TASK_CONFIG = {
+ 'name': 'djcelery_email_send',
+ 'queue': 'celery',
+ 'rate_limit': '50/m',
+ 'ignore_result': False,
+}
+
+CELERYD_TASK_TIME_LIMIT = 300
+
+BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-SUPPORT = 'hello@skillbox.ru'
-SUPPORT_PHONE = '+7 (495) 984-41-77'
-SUPPORT_TIME = '(с 10 до 19 по Москве)'
-ADDRESS = 'Москва, ул. Бауманская, д. 11'
AUTH_USER_MODEL = 'access.User'
VZAAR = 'f1e965defc6fbaa92c544cf84267e830'
SMS = '5ED9C6BB-41E8-C760-10FA-F8A310D88952'
ALLOWED_HOSTS = ['*']
DOMAIN = 'https://go.skillbox.ru'
-NAME = u'SkillBox - обучающая платформа'
-BROKER_URL = 'amqp://guest:guest@localhost:5672//'
-CELERY_ACCEPT_CONTENT = ['json']
-CELERY_TASK_SERIALIZER = 'json'
-CELERY_RESULT_SERIALIZER = 'json'
-CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
BILL_LOGIN = '1501'
BILL_URL = 'https://api.simplepay.pro/sp/payment'
BILL_KEY = u'848360a6b0b8cdfaca3603ede75e4d8b'
@@ -54,11 +53,6 @@ BILL_TOKEN = u'c63fc7fdc74de318e1f9b078b6d4406a3e62f522b00fb305afe61c0ead238eb9c
AMO_USER_LOGIN = 'baryshnikov@mokselle.com'
AMO_USER_HASH = 'd639c26c1c1900e5a8cee66cd3395bdc'
AMO_SUBDOMAIN = 'mokselle'
-EMAIL_HOST = 'smtp.gmail.com'
-EMAIL_HOST_PASSWORD = 'nu5Xefise'
-EMAIL_HOST_USER = 'robo@skillbox.ru'
-EMAIL_PORT = '587'
-EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'robo@skillbox.ru'
YANDEX_MONEY_SHOP_PASSWORD = 'nu5Xefise'
YANDEX_SHOP_ID = '157133'
@@ -68,6 +62,20 @@ YANDEX_scid = '149639'
# место куда сохраняем пользовательские файлы
PERSONAL_FILES = '/personal_files/'
+DATABASES = {
+ 'default': env.db(),
+}
+
+SESSION_ENGINE = 'redis_sessions.session'
+CELERY_EMAIL_CHUNK_SIZE = 1
+
+CACHES = {
+ 'default': env.cache(),
+}
+
+EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'
+
+SECRET_KEY = env('SECRET_KEY')
INSTALLED_APPS = [
'django.contrib.admin',
@@ -78,6 +86,7 @@ INSTALLED_APPS = [
'django.contrib.staticfiles',
'django_celery_results',
'django_celery_beat',
+ "djcelery_email",
'raven.contrib.django.raven_compat',
'access',
'courses',
@@ -85,8 +94,8 @@ INSTALLED_APPS = [
'management',
'finance',
'journals',
- 'service',
'library',
+ 'config_app',
]
MIDDLEWARE_CLASSES = [
@@ -123,21 +132,6 @@ TEMPLATES = [
WSGI_APPLICATION = 'lms.wsgi.application'
-
-# Database
-# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
-
-DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.postgresql_psycopg2',
- 'NAME': os.environ.get('DB_NAME', 'new_lms'),
- 'USER': os.environ.get('PG_ENV_POSTGRES_USER', 'team'),
- 'PASSWORD': os.environ.get('PG_ENV_POSTGRES_PASSWORD', 'nu5Xefise'),
- 'HOST': os.environ.get('PG_PORT_5432_TCP_ADDR', '127.0.0.1'),
- 'PORT': os.environ.get('PG_PORT_5432_TCP_PORT', '5432'),
- },
-}
-
# Password validation
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
@@ -156,9 +150,6 @@ AUTH_PASSWORD_VALIDATORS = [
]
-# Internationalization
-# https://docs.djangoproject.com/en/1.9/topics/i18n/
-
LANGUAGE_CODE = 'ru-ru'
TIME_ZONE = 'Europe/Moscow'
USE_I18N = True
@@ -166,14 +157,10 @@ USE_L10N = True
USE_TZ = False
-# Static files (CSS, JavaScript, Images)
-# https://docs.djangoproject.com/en/1.9/howto/static-files/
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
-REDACTOR_OPTIONS = {'lang': 'ru'}
-REDACTOR_UPLOAD = 'uploads/'
RAVEN_CONFIG = {
'dsn': 'http://caaea487274f4e23a9107862484c79f3:3d463ad4717942508536f7a659921950@sentry.skillbox.ru/3'
diff --git a/lms/urls.py b/lms/urls.py
index d6f5cc1..a23e50e 100644
--- a/lms/urls.py
+++ b/lms/urls.py
@@ -1,6 +1,7 @@
from django.conf.urls import url, include
from django.contrib import admin
from django.views.static import serve
+
from lms import settings
urlpatterns = [
diff --git a/management/admin.py b/management/admin.py
index b488d64..199d744 100755
--- a/management/admin.py
+++ b/management/admin.py
@@ -1,5 +1,6 @@
from django.contrib import admin
-from management.models import Comment
+from management.models import Comment, Like
-admin.site.register(Comment)
\ No newline at end of file
+admin.site.register(Comment)
+admin.site.register(Like)
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 8f21f62..cb2f4b2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,4 @@
+environ
amqp==2.2.2
billiard==3.5.0.3
celery==4.1.0
diff --git a/service/__init__.py b/service/__init__.py
deleted file mode 100755
index 51b6435..0000000
--- a/service/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-default_app_config = "service.apps.ServiceAppConfig"
\ No newline at end of file
diff --git a/service/admin.py b/service/admin.py
deleted file mode 100755
index 4c4cd7e..0000000
--- a/service/admin.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from django.contrib import admin
-from service.models import MailBox, MailTemplate
-
-admin.site.register(MailBox)
-admin.site.register(MailTemplate)
diff --git a/service/apps.py b/service/apps.py
deleted file mode 100644
index 414b516..0000000
--- a/service/apps.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- coding: utf-8 -*-
-from django.apps import AppConfig
-
-
-class ServiceAppConfig(AppConfig):
- name = "service"
- verbose_name = "Сервис"
\ No newline at end of file
diff --git a/service/migrations/0001_initial.py b/service/migrations/0001_initial.py
deleted file mode 100644
index b80896d..0000000
--- a/service/migrations/0001_initial.py
+++ /dev/null
@@ -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': 'Шаблоны писем',
- },
- ),
- ]
diff --git a/service/models.py b/service/models.py
deleted file mode 100755
index 81fc83c..0000000
--- a/service/models.py
+++ /dev/null
@@ -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 = 'Письма'
\ No newline at end of file
diff --git a/service/tasks.py b/service/tasks.py
deleted file mode 100755
index 73e4361..0000000
--- a/service/tasks.py
+++ /dev/null
@@ -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()
diff --git a/templates/404.html b/templates/404.html
deleted file mode 100755
index c967da8..0000000
--- a/templates/404.html
+++ /dev/null
@@ -1,280 +0,0 @@
-
-
-
-
-
- 404
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
404
- {% if request.GET.error %}{{ request.GET.error }}{% else %}error{% endif %}
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/500.html b/templates/500.html
deleted file mode 100755
index 100fb15..0000000
--- a/templates/500.html
+++ /dev/null
@@ -1,291 +0,0 @@
-
-
-
-
-
- 500
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
500
- error
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/access_error.html b/templates/access_error.html
deleted file mode 100755
index a58b7e3..0000000
--- a/templates/access_error.html
+++ /dev/null
@@ -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 %}
-
-
-{% if request.user.is_authenticated %}
-
-
-
-
Последняя активность
-
-
-
-
минуту назад Курс «Профессия веб-разработчик», занятие 6
-
Ваше домашнее задание одобрено преподавателем.
-
-
-
-
-
23:30 Курс «Профессия веб-разработчик», занятие 6.
-
Ваше домашнее задание проверено преподавателем. Вам необходимо провести работу над ошибками
-
-
-
-
-
-
понедельник, 03.02.2015 Курс «Профессия веб-разработчик», занятие 6.
-
Преподаватель оставил комментарий
-
-
-
-
-
-
-
-
-
-
- {% endif %}
-{% endblock %}
diff --git a/templates/activation.html b/templates/activation.html
deleted file mode 100755
index b29db2d..0000000
--- a/templates/activation.html
+++ /dev/null
@@ -1,369 +0,0 @@
-{% load static %}
-
-
-
-
- {% block title %}{% endblock %} {{ NAME }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {% block head %}
- {% endblock %}
-
-
-
-
-
-
-
-
-
- Обрежте изображение, если это необходимо.
-
-
-
-
-
-
-
- Сохранить
- Назад
-
-
-
- Ошибка загрузки файла
-
-
-
-
-
-
-
-
-
-
-
-
-Вы можете загрузить изображение в формате JPG, GIF или PNG.
- Минимальный размер изображения 256x256
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% block js %}
-{% endblock %}
-
-
diff --git a/templates/admin_profile.html b/templates/admin_profile.html
deleted file mode 100755
index f89b5e7..0000000
--- a/templates/admin_profile.html
+++ /dev/null
@@ -1,140 +0,0 @@
-{% extends 'base_index.html' %}
-{% block modals %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-{% block asside %}
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
Пользователи системы
-
-
-
-
-
-
-
- Поиск пользователей
-
- Поиск
-
-
-
Результатов нет
-
-
-
- Пользователь
- Телефон
- Действие
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/all_achievements.html b/templates/all_achievements.html
deleted file mode 100644
index 0915f9e..0000000
--- a/templates/all_achievements.html
+++ /dev/null
@@ -1,84 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Все доступные достижения{% endblock %}
-{% block head %}
-
-
-{% endblock %}
-{% block content %}
-
-
-
-
Все доступные достижения системы
-
- {% for achievement in achievements %}
-
-
-
{{ achievement.title }}
-
- {% empty %}
-
Достижений еще нет
- {% endfor %}
-
-
-
-
-
Получаемые навыки
- {% for course, points in skills.items %}
-
-
-
{{ course.1 }}
-
-
- {% if points %}
-
- {% else %}
-
Навыков не назначено
- {% endif %}
-
-
-
- {% for key, value in points.items %}
-
- {{ value.size }} очков
- {% if value.icon %} {% endif %}{{ key }}
-
-
- {% endfor %}
-
-
- {% endfor %}
-
-
-
-
-{% endblock %}
-{% block js %}
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/all_actions.html b/templates/all_actions.html
deleted file mode 100755
index 2fa8969..0000000
--- a/templates/all_actions.html
+++ /dev/null
@@ -1,35 +0,0 @@
-{% extends 'base_index.html' %}
-{% load course_filter %}
-{% block title %}История активности {% endblock %}
-{% block content %}
-
-
-
-
-
История активности
-
- {% for i in b_actions %}
-
-
-
-
-
-
{{ i.place }}{{ i.date }}
-
-
-
-
- {% endfor %}
-
-
-
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/all_articles.html b/templates/all_articles.html
deleted file mode 100755
index 3be34a9..0000000
--- a/templates/all_articles.html
+++ /dev/null
@@ -1,117 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Статьи{% endblock %}
-{% block head %}
-
-
-
-
-{% endblock %}
-{% block content %}
-
-
-
-
-
- Обучающие статьи
-
- Все статьи
-
-
-
- Непрочитанные
-
-
-
-
-
-
-
Все статьи {{ articles|length }}
-
{{ views }}
-
-
-
-
-
-
-
-
-
-
- {% for article in articles %}
-
-
-
-
-
-
{{ article.section.title }} {{ article.date }}
-
-
{{ article.preview.description }}
- {% if article.tags %}
-
{% for tag in article.tags.content %}#{{ tag.name }} {% endfor %}
- {% endif %}
-
-
-
Читать статью
-
- {{ article.favorites.count }}
- {{ article.views.count }}
- {{ article.likes.count }}
-
-
-
-
-
-
-
- {% endfor %}
-
-
-
-
-{% endblock %}
-{% block js %}
-
-
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/all_comments.html b/templates/all_comments.html
deleted file mode 100755
index aad4292..0000000
--- a/templates/all_comments.html
+++ /dev/null
@@ -1,244 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% load comment_filter %}
-{% block title %}Все комментарии{% endblock %}
-{% block head %}
-
-
-{% endblock %}
-{% block content %}
-
-
-
Комментарии
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- {% for comment in lessons %}
-
- {% if not comment.comment.saw %}
-
-
- {% endif %}
- {% empty %}
-
- {% endfor %}
-
-
-
-
- {% for comment in articles %}
-
- {% empty %}
-
- {% endfor %}
-
-
-
-
-
-{% endblock %}
-{% block js %}
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/analytics/base.html b/templates/analytics/base.html
deleted file mode 100644
index 64d1492..0000000
--- a/templates/analytics/base.html
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
- Аналитика
-
-
- Дата создания отчёта {{ date_create }}
- Сгенирировать отчёт
- Скачать отчёт
- На главную
-
- от
-
- до
-
- Подготовить отчёт
-
-
-
-
- {% for i in header %}
- {{ i }}
- {% endfor %}
-
- {% for i in body %}
-
- {% for j in i %}
- {{ j.value }}
- {% endfor %}
-
- {% endfor %}
-
-
- {% block description %}{% endblock %}
-
-
- Внимание! Новый отчёт генерируется 1 раз! Следите за записью в хедоре страницы, если вы нуждаетесь в обновлении
- данных жмите кнопку "Сгенерировать отчёт" таким образом вы получите обновлённые данные для заданных пораметров фильтрации
-
-
\ No newline at end of file
diff --git a/templates/analytics/homework.html b/templates/analytics/homework.html
deleted file mode 100644
index 7629c61..0000000
--- a/templates/analytics/homework.html
+++ /dev/null
@@ -1,2 +0,0 @@
-{% extends 'analytics/base.html' %}
-{% block description %}{% endblock %}
\ No newline at end of file
diff --git a/templates/analytics/index.html b/templates/analytics/index.html
deleted file mode 100644
index 72e6a43..0000000
--- a/templates/analytics/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- Аналитика
-
-
- Меню поиска
-
-
-
-
\ No newline at end of file
diff --git a/templates/analytics/theme.html b/templates/analytics/theme.html
deleted file mode 100644
index 3e3f0b2..0000000
--- a/templates/analytics/theme.html
+++ /dev/null
@@ -1,9 +0,0 @@
-{% extends 'analytics/base.html' %}
-{% block description %}
- В данной таблице представлены данные о том, сколько студентов прошло заданную тему.
- Темы не всегда проходятся последовательно, поэтому порой тему с большим порядковым номером прошло большее количество пользовавтелей.
- Вы можите выставить фильтр по последней акутивности пользователя, фильтр может быть ограничивающим с одной стороны или может отсутствовать,
- в случае ввода невалидных данных ошибки не происходит вас просто перенапровляет на начальную страницу.
- Вы можите скачать отчёт в формате csv метка $-$yellow говорит о том что в данной теме есть экзамен,
- в таблице темы содержашие экзамен подсвечены жёлтым светом
-{% endblock %}
\ No newline at end of file
diff --git a/templates/articles.html b/templates/articles.html
deleted file mode 100755
index 45075dd..0000000
--- a/templates/articles.html
+++ /dev/null
@@ -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 }}
-
- {% 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 }}
-
-
-
-
-
-
- {% for tag in article.tags.content %}
- #{{ tag.name }}
- {% endfor %}
-
-
-
-
- Понравилась статья?
- Поделись с друзьями:
- Сказать спасибо {{ article.get_likes_length }}
- * Спасибо, что оценили нашу работу
-
-
-
-
Понравилась статья?
- Поделись с друзьями:
-
-
Сказать спасибо {{ article.get_likes_length }}
-
* Спасибо, что оценили нашу работу
-
-
-
-
-
- {% include 'comments_block.html' %}
-
-
-
-
-{% endblock %}
-
- {% block js %}
-
- {% if not request.user.is_authenticated %}
-
- {% endif %}
-
-
- {{ article.js|safe }}
- {% endblock %}
\ No newline at end of file
diff --git a/templates/articles_index.html b/templates/articles_index.html
deleted file mode 100755
index 058bd1a..0000000
--- a/templates/articles_index.html
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
- {% block title %}{{ article.title }}{% endblock %}
-
-
-
-
-
-
-
-
-
- {% block content %}
- {{ article.page|safe }}
- {% endblock %}
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/auth_error.html b/templates/auth_error.html
deleted file mode 100755
index c29d2e2..0000000
--- a/templates/auth_error.html
+++ /dev/null
@@ -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 %}
-
-
-
-
-
- Доступ на страницу закрыт
-
-
-
-
-
- {% if request.user.is_authenticated %}
-
-
Вам не открыт доступ к этому материалу, поскольку вы еще не дошли до этого материала
- {% else %}
-
-
Авторизуйтесь для получения доступа на эту страницу
- {% endif %}
-
-
-
-{% endblock %}
diff --git a/templates/auth_modals.html b/templates/auth_modals.html
deleted file mode 100755
index 92693d9..0000000
--- a/templates/auth_modals.html
+++ /dev/null
@@ -1,652 +0,0 @@
-
-
-
-
-
-
-
- Обрежте изображение, если это необходимо.
-
-
- Сохранить
- Назад
-
-
-
-
-
-
-
- Сохранить
- Назад
-
-
-
- Ошибка загрузки файла
-
-
-
-
-
-
-
-
-
-
-
-
-Вы можете загрузить изображение в формате JPG, GIF или PNG.
- Минимальный размер изображения 256x256
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Подтверждение действия
-
- Вы уверены, что хотите
- Подтвердить
- Отмена
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Материал не доступен
-
Материалы курса будут доступны в день старта вашего потока к 20:00 (по Московскому времени).
-Если у вас возникли вопросы по курсу, напишите нашей службе заботы о клиентах на hello@skillbox.ru
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Материал не доступен
-
Материал вам еще не доступен. Выполните все задания до и доступ откроется вам автоматически
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Добавлен новый материал
-
Материал вам еще недоступен. Для получения доступа, необходимо просмотреть уроки/выполнить задания указанные ниже:
-
- {% for i in waiting_materials %}
- {% if forloop.first %}
- {{ i.obj }}Перейти
- {% else %}
- {{ i.lesson }}
- {% endif %}
- {% endfor %}
-
-
*Новый материал необходимо пройти по порядку предоставления
-
-
-
-
-
-
-
-{% if waiting_materials %}
- {% if waiting_materials.0.type not in request.path or waiting_materials.0.obj.id not in request.path %}
-
- {% endif %}
-{% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
Доcтуп заблокирован
-
Данный материал находится в обработке. Если в течении 48 часов у вас не появился доступ к материалам, обратитесь на почту info@bedev.ru
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Ваши подписки
-
-
-
- Сохранить
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Получения полного доступа к курсу
-
Проверка домашних заданий, общение с преподавателем онлайн и полный доступ ко всем урокам курса
- доступны в полной версии курса.
-
в полной версии курса « »
-
-
-
16
- основных модулей
-
-
-
16
-
- дополнительных модулей
-
-
-
- проверка домашних заданий
- стажировка
- трудоустройство
- общение с преподавателем
- работа над реальными проектами
-
-
-
-
-
-
стоимость курса:
-
от 6 777 руб. в месяц
-
-
-
Оставить заявку на курс
-
- Заявка на курс вас ни к чему не обязывает.
- После регистрации с вами свяжется менеджер,
- чтобы рассказать детали курса.
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% if request.user.is_admin and request.user.is_staff %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endif %}
-
-{% if request.user.is_authenticated and request.user.email == '!!wies@1312s.ru' %}
-
-
-
-
-
-
-
-
-
-
-
- Пошел нахуй!
-
- Поити
-
-
-
-
-
-
-
-{% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/templates/base_index.html b/templates/base_index.html
deleted file mode 100755
index 51535d6..0000000
--- a/templates/base_index.html
+++ /dev/null
@@ -1,1303 +0,0 @@
-{% load static %}
-
-
-
-{% spaceless %}
-
-
-
-
- {% block title %}{% endblock %} {{ NAME }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {% if request.GET.admitad_uid %}
-
-
-
-
-
-{% endif %}
- {% block head %}
- {% endblock %}
-
-
-{% if request.user.is_authenticated %}
- {% include 'auth_modals.html' %}
-{% else %}
- {% include 'no_auth_modals.html' %}
-{% endif %}
-
-{% include 'everyone_modals.html' %}
-
-{% block modals %}
-{% endblock %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% if request.GET.auth %}
-
-{% endif %}
-{% block js %}
-
-{% endblock %}
-
-{% if request.user.is_authenticated %}
- {% if not request.session.new_year %}
-
- {% endif %}
-{% endif %}
- {% if DIALOG %}
- {% if DIALOG == 'auth_error' %}
-
- {% endif %}
- {% if DIALOG == 'by_error' %}
-
- {% endif %}
- {% if DIALOG == 'accept_forgot' %}
-
- {% endif %}
- {% if DIALOG == 'activate_email' %}
-
- {% endif %}
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-{% if request.user.is_authenticated %}
-
-{% endif %}
-{% if csh_new_year %}
-
-
-
-
-
-
-
-
-
-
Привет!
- Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса C#:
-
-Проверка работ по курсу, возобновится 2 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if web_html %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Веб-разработчик:
-
-Проверка работ по курсу, возобновится 4 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if web_gerasimenko %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Веб-разработчик:
-
-Проверка работ по курсу, возобновится 5 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if JavaScript_geras %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Веб-разработчик:
-
-Проверка работ по курсу, возобновится 5 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if JavaScript_yegor %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Веб-разработчик:
-
-Проверка работ по курсу, возобновится 5 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if Java_geras %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Java-разработчик:
-
-Проверка работ по курсу, возобновится 5 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if Java_it %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Java-разработчик:
-
-Проверка работ по курсу, возобновится 5 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if IOS %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса iOS-разработчик:
-
-Проверка работ по курсу, возобновится 6 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if web_start %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Веб-дизайн:
-
-Проверка работ по курсу, возобновится 5 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if excel %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Веб-дизайн:
-
-Проверка работ по курсу, возобновится 9 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if pr %}
-
-
-
-
-
-
-
-
-
-
Привет!
-Наша команда поздравляет вас с Новым Годом и Рождеством!
-
-Расписание работы преподавателя курса Веб-дизайн:
-
-Проверка работ по курсу, возобновится 3 и 6 января.
-
-Все направленные работы обязательно будут проверены :)
-
-
-
-
-
-
-
-{% endif %}
-{% if show_fb %}
-
-
-
-
-
-
-
-
-
-
А вы уже общаетесь с нами в Фейсбуке?
-Специально для всех студентов курса UX design мы сделали группы в Фейсбуке для общения, вопросов и обмена опытом с авторами курса.
-
- Вы уже присоединились? :)
-
-
Перейти к группе
-
-
-
-
-
-
-
-{% endif %}
-
-
-{% if kaspi %}
-
-
-
-
-
-
-
-
-
-
Привет!
- Ждем вас в группе дипломного проекта
Kaspi.kz
- Вступайте, если вы еще этого не сделали :)
-
-
Перейти к группе
-
-
-
-
-
-
-
-{% endif %}
-
-
-{% if yota %}
-
-
-
-
-
-
-
-
-
-
Привет!
- Ждем вас в группе дипломного проекта
Yota
- Вступайте, если вы еще этого не сделали :)
-
-
Перейти к группе
-
-
-
-
-
-
-
-{% endif %}
-
-
-{% if gazprom %}
-
-
-
-
-
-
-
-
-
-
Привет!
- Ждем вас в группе дипломного проекта
Газпромбанк
- Вступайте, если вы еще этого не сделали :)
-
-
Перейти к группе
-
-
-
-
-
-
-
-{% endif %}
-
-
-{% if mosru %}
-
-
-
-
-
-
-
-
-
-
Привет!
- Ждем вас в группе дипломного проекта
MOS.RU
- Вступайте, если вы еще этого не сделали :)
-
-
Перейти к группе
-
-
-
-
-
-
-
-{% endif %}
-
-
-{% if diplom_nameless %}
-
-
-
-
-
-
-
-
-
-
Выбор дипломного проекта курса «Ux design»
- 27 января состоялся вебинар с анонсом дипломных проектов для вашего потока.
-Теперь перед вами стоит задача выбрать проект и направление.
-
-Для этого, просим до 16 февраля, пройти опрос.
-После все слушатели сделавшие свой выбор, будут распределены в закрытые группы проектов на facebook.
-
-
Выбрать
-
-
-
-
-
-
-
-{% endif %}
-{% if dz_anons %}
-
-
-
-
-
-
-
Хватит ждать!
-
Смотрите следующее видео, пока ваше задание еще проверяется.
-
-У нас обновление: пока преподаватель проверяет выложенное вами задание, вы можете начать смотреть видео следующего модуля. Оно открывается сразу после отправки задания на проверку.
-И правда: зачем ждать, когда можно сразу двинуться дальше?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endif %}
-
- {{ diplom_nameles }}
-
-
-{% endspaceless %}
-
diff --git a/templates/bill_out.html b/templates/bill_out.html
deleted file mode 100644
index a3a1cb0..0000000
--- a/templates/bill_out.html
+++ /dev/null
@@ -1,159 +0,0 @@
-{% load static %}
-
-
-
-
- {% block title %}{% endblock %} {{ NAME }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {% block head %}
- {% endblock %}
-
-
-
-
-
-
-
-
-
-
-
-{% block js %}
- {% if price != '0' %}
-
- {% endif %}
-{% endblock %}
-
-
diff --git a/templates/by_error.html b/templates/by_error.html
deleted file mode 100755
index 5906187..0000000
--- a/templates/by_error.html
+++ /dev/null
@@ -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 %}
-
-
-
-
-
- Доступ на страницу закрыт
-
-
-
-
-
- {% if request.user.is_authenticated %}
-
-
Купите курс для получения доступа на эту страницу
- {% else %}
-
-
Авторизуйтесь для получения доступа на эту страницу
- {% endif %}
-
-
-
-{% endblock %}
diff --git a/templates/cabinet.html b/templates/cabinet.html
deleted file mode 100644
index 8b3ff1b..0000000
--- a/templates/cabinet.html
+++ /dev/null
@@ -1,236 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Рабочий кабинет{% endblock %}
-{% block content %}
-
-
-
-
-
-
Открыть домашки
-
-
-
-
- Отдельные темы
-
-
-
-
-
-
-
-
Поменять пароль
-
-
-
- Введите новый пароль
-
-
-
-
-
-
-
-
- {% for c in courses %}
-
{{ c.id }}: {{ c.title }}
- {% endfor %}
-
-
-
-
-{% endblock %}
diff --git a/templates/clean_articles.html b/templates/clean_articles.html
deleted file mode 100755
index 9f10ae7..0000000
--- a/templates/clean_articles.html
+++ /dev/null
@@ -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 %}
\ No newline at end of file
diff --git a/templates/comment_one.html b/templates/comment_one.html
deleted file mode 100644
index d1a2d0e..0000000
--- a/templates/comment_one.html
+++ /dev/null
@@ -1,67 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Комментарий #{{ comment.id }}{% endblock %}
-{% block content %}
-
-
-
-
-
- {{ comment.text|safe }}
-
-
-
-
-
-
-
-
-
-
- {% if request.user.is_authenticated %}
-
-
-
Последняя активность
-
-
-
-
минуту назад Курс «Профессия веб-разработчик», занятие 6
-
Ваше домашнее задание одобрено преподавателем.
-
-
-
-
-
23:30 Курс «Профессия веб-разработчик», занятие 6.
-
Ваше домашнее задание проверено преподавателем. Вам необходимо провести работу над ошибками
-
-
-
-
-
понедельник, 03.02.2015 Курс «Профессия веб-разработчик», занятие 6.
-
Преподаватель оставил комментарий
-
-
-
-
-
- {% endif %}
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/comments.html b/templates/comments.html
deleted file mode 100755
index 9325721..0000000
--- a/templates/comments.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- Title
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/comments_block.html b/templates/comments_block.html
deleted file mode 100644
index 5c4eac9..0000000
--- a/templates/comments_block.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
\ No newline at end of file
diff --git a/templates/contacts.html b/templates/contacts.html
deleted file mode 100755
index 141fbd8..0000000
--- a/templates/contacts.html
+++ /dev/null
@@ -1,48 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Контакты компании{% endblock %}
-{% block page_title %}Контакты компании{% endblock %}
-{% block content %}
-
-
-
-
-
- Контакты компании
-
-
-
-
-
-
-
-
-
Наш офис
-
Россия, Москва Бауманская улица, 11с8
-
-
-
Юридическая информация
-
ИП Коропов Игорь Валентинович ИНН 504793474705 ОГРНИП 314504727900026
-
-
-
Контакты
-
-
Общие вопросы:
- hello@skillbox.ru
- Тел.: (495) 120-40-96 доб. 27
-
-
-
Тех вопросы:
- hello@skillbox.ru
- Тел.: (495) 120-40-96 доб. 25
-
-
-
-
-
-
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/course.html b/templates/course.html
deleted file mode 100755
index 76e9b1e..0000000
--- a/templates/course.html
+++ /dev/null
@@ -1,375 +0,0 @@
-{% extends 'base_index.html' %}
-{% load course_filter %}
-{% block title %}Курс {{ course.head.title }}{% endblock %}
-{% block content %}
-
-
-
-
-
-
-
-
-
-
-
- {{ course.head.level.title }} уровень
-
-
-
- {{ course.head.title }}
-
-
- {% if course.head.skills %}
-
-
Приобретаемые навыки:
- {% for skill in course.head.skills %}
-
{% if skill.mini_icon %} {% endif %}{{ skill }}
- {% endfor %}
-
- {% endif %}
-
- {{ course.head.lessons }} урока(-ов)
-
-
-
-
- {% if course.head.progress != 0 %}
-
- {{ course.head.progress }}%
-
- {% endif %}
-
-
-
-
-
-
-
-
-
- {{ course.head.level.title }} уровень
-
-
-
- {{ course.head.title }}
-
-
- {% if course.head.skills %}
-
-
Приобретаемые навыки:
- {% for skill in course.head.skills %}
-
{% if skill.mini_icon %} {% endif %}{{ skill }}
- {% endfor %}
-
- {% endif %}
-
- {{ course.head.lessons }} урока(-ов)
-
-
-
-
- {% if course.head.progress != 0 %}
-
- {{ course.head.progress }}%
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-{% include 'right_site.html' %}
-
-{% endblock %}
-{% block js %}
-
-
-{% endblock %}
diff --git a/templates/diplomscab.html b/templates/diplomscab.html
deleted file mode 100644
index 6ac3d33..0000000
--- a/templates/diplomscab.html
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Рабочий кабинет{% endblock %}
-{% block content %}
- Массовое открытие дипломов
-
- {% csrf_token %}
-
- {{ ERROR }}
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/everyone_modals.html b/templates/everyone_modals.html
deleted file mode 100755
index 787405a..0000000
--- a/templates/everyone_modals.html
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Новый Email
-
Ваш почтовый ящик изменен.
-
Закрыть
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Задать вопрос
-
Вопрос отправлен
-
Закрыть
-
-
-
-
-
-
-
-
-{% if request.GET.success_pay %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Счет оплачен
-
Желаем вам продуктивного обучения.
- {% if request.GET.course_id %}
-
Страницы курса
- {% endif %}
-
-
-
-
-
-
-
-
-{% endif %}
-
-{% if request.GET.fail_pay %}
-
-
-
-
-
-
-
-
-
-
-
-
Платеж не принят
-
Во время проведеня платежа произошла ошибка.
- {% if request.GET.fail_pay_id %}
-
Получить новый счет
- {% endif %}
- {% if request.GET.fail_url %}
-
Повторить оплату
- {% endif %}
-
-
-
-
-
-
-
-
-
-{% endif %}
diff --git a/templates/exam.html b/templates/exam.html
deleted file mode 100755
index 0c384be..0000000
--- a/templates/exam.html
+++ /dev/null
@@ -1,333 +0,0 @@
-{% extends 'base_index.html' %}
-{% block head %}
-
-
-{% endblock %}
-{% block title %}{{ course.head.title }} / Домашнее задание{% endblock %}
-
-
-{% block content %}
-
- {% if exam.heaad.status == 'T' %}
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
- {{ course.level.title }} уровень
-
-
-
- {{ course.head.title }}
-
-
-
-
Приобретаемые навыки:
- {% for skill in course.head.skills %}
-
{% if skill.mini_icon %} {% endif %}{{ skill }}
- {% endfor %}
-
-
- {{ course.head.lessons }} урока(-ов)
-
-
-
-
- {% if course.head.progress != 0 %}
-
- {{ course.head.progress }}%
-
- {% endif %}
-
-
-
-
-
-
-
-
-
- {{ course.level.title }} уровень
-
-
-
- {{ course.head.title }}
-
-
-
-
Приобретаемые навыки:
- {% for skill in course.head.skills %}
-
{% if skill.mini_icon %} {% endif %}{{ skill }}
- {% endfor %}
-
-
- {{ course.head.lessons }} урока(-ов)
-
-
-
-
- {% if course.head.progress != 0 %}
-
- {{ course.head.progress }}%
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
Описание задания
-
- {{ exam.head.description|safe }}
-
-
-
-
-
- {% if exam.materials %}
-
-
-
- Материалы к заданию
-
- {% for i in exam.materials %}
-
- {% endfor %}
-
-
- {% endif %}
-
-
-
-
-
-
-
- {% if exam.tries %}
-
Попыток: ({{ exam.tries|length }} ) :
- {% endif %}
-
- {% if exam.tries %}
- {% for try in exam.tries %}
-
-
-
-
-
-
-
-
LMS: ~#
-
-
Попытка №{{ forloop.counter }}
-
-
-
-
- {{ try.teacher.get_full_name }}
- {{ try.teacher.get_short_name }}
-
-
-
-
-
- {{ try.status.title }}
-
-
-
-
-
-
-
- {% for comment in try.comments %}
-
-
-
-
-
-
-
- {{ comment.owner }}
-
-
- {{ comment.date }}
-
-
-
{{ comment.text|safe }}
- {% for file in comment.files %}
-
- {% endfor %}
-
-
-
-
-
- {% endfor %}
-
- {% endfor %}
- {% endif %}
- {% if request.user.is_authenticated %}
- {% if exam.head.status.flag != 'N' and exam.head.status.flag != 'F' %}
-
-
- ОТПРАВКА КОММЕНТАРИЯ
-
-
-
-
- ОСТАВИТЬ СООБЩЕНИЕ :
-
- {% if request.user.is_authenticated and resuqest.user.in_role == 'Ts' or request.user.in_role == 'A' %}
-
- Просто отправить
- Заставить одобрить
- Заставить отказать
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
-
- Добавить файл
-
-
-
-
-
- {% endif %}
- {% else %}
-
Для работы с домашним заданием, авторизуйтесь.
- {% endif %}
-
-
-
-
-
-
-
-{% include 'right_site.html' %}
-
-
-
-{% endblock %}
-
-{% block js %}
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/fail_pay.html b/templates/fail_pay.html
deleted file mode 100755
index 3eab4a7..0000000
--- a/templates/fail_pay.html
+++ /dev/null
@@ -1,185 +0,0 @@
-{% extends 'base_index.html' %}
-{% load static %}
-{% load course_filter %}
-{% block page_title %}Доступные курсы{% endblock %}
-{% block head %}
-{% endblock %}
-{% block content %}
-
-
-
-
-
- Доступные курсы
-
-
-
-
-
-
- {% for i in courses %}
-
-
-
- {% if i.level == 'B' %}
-
- {{ i.get_level_display }} уровень
-
- {% else %}
- {% if i.level == 'A' %}
-
- {{ i.get_level_display }} уровень
-
- {% else %}
- {% if i.level == 'E' %}
-
- {{ i.get_level_display }} уровень
-
- {% endif %}
- {% endif %}
- {% endif %}
-
-
- {% if i.id|get_progress_persent:request.user.id != 0 %}
-
- {{ i.id|get_progress_persent:request.user.id }}%
-
- {% endif %}
-
{{ i.title }}
- {{ i.lessons_length }} урока(-ов)
-
- {% for skill in i.get_skills %}
- {{ skill.skill }}
- {% endfor %}
-
-
-
- {% for n in i.skills %}
- {{ i.skill }}
- {% endfor %}
-
-
-
-
-
-
-
-
- {% endfor %}
-
-
-
-
-
-{% if request.user.is_authenticated %}
- {% if actions %}
-
-
-
Последняя активность
ВСЯ ИСТОРИЯ
-
- {% for i in actions %}
-
-
-
{{ i.date }} {{ i.place }}
-
{{ i.text|safe }}
-
-
- {% endfor %}
-
-
-
- {% endif %}
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Hi John, What's up...
-
-
2 minutes ago
-
-
-
-
-
-
-
-
Lorem ipsum dolor :)
-
-
1 minutes ago
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-
-{% block js %}
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/faq.html b/templates/faq.html
deleted file mode 100755
index a9a02ed..0000000
--- a/templates/faq.html
+++ /dev/null
@@ -1,111 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Часто задаваемые вопросы{% endblock %}
-{% block content %}
-
-
-
-
-
- {% if admin %}Внутренняя Ф@ка{% else %}Помощь в системе{% endif %}
-
-
-
-
-
- {% if a_faqs %}
-
- {% for i in a_faqs %}
-
- {% endfor %}
-
-
-
-
-
- {% if admin %}Пользовательская Ф@ка{% endif %}
-
-
-
-
- {% endif %}
-
-
-
-
-
- {% for i in faqs %}
-
- {% endfor %}
-
-
- {% include 'right_site.html' %}
-{% endblock %}
-{% block js %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/faq_one.html b/templates/faq_one.html
deleted file mode 100755
index d775651..0000000
--- a/templates/faq_one.html
+++ /dev/null
@@ -1,25 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Часто задаваемые вопросы{% endblock %}
-{% block content %}
-
-
-
-
-
- Назад
- {{ faq.question }}
- {% if request.user.is_authenticated and request.user.is_admin %}
-
- {% endif %}
-
-
-
-
-
{{ faq.answer|safe }}
-
- {% include 'right_site.html' %}
-{% endblock %}
\ No newline at end of file
diff --git a/templates/freeweek_more.html b/templates/freeweek_more.html
deleted file mode 100755
index 4a3d68b..0000000
--- a/templates/freeweek_more.html
+++ /dev/null
@@ -1,55 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% load course_filter %}
-{% block title %}Бесплатная неделя{% endblock %}
-{% block page_title %}Бесплатная неделя{% endblock %}
-{% block head %}
-{% endblock %}
-{% block content %}
-
- {{ title }}
-
-
-
- Всего пользователей
- Прошли активацию
- Java [ {{ java.all }} ]
- Web [ {{ web.all }} ]
- Android [ {{ android.all }} ]
- C# [ {{ csh.all }} ]
-
-
- {{ all }}
- {{ active.count }} [{{ active.persent }}%]
-
- Проходят обучение: {{ java.in.count }}
- Получили домашку: {{ java.in_hw }}
- Сдали домашку: {{ java.out_hw }}
-
-
- Проходят обучение: {{ web.in.count }}
- Получили домашку: {{ web.in_hw }}
- Сдали домашку: {{ web.out_hw }}
-
-
- Проходят обучение: {{ android.in.count }}
- Получили домашку: {{ android.in_hw }}
- Сдали домашку: {{ android.out_hw }}
-
-
- Проходят обучение: {{ csh.in.count }}
- Получили домашку: {{ csh.in_hw }}
- Сдали домашку: {{ csh.out_hw }}
-
-
-
-
-
- Открыть конкретику
- Открыть конкретику
- Открыть конкретику
- Открыть конкретику
-
-
-{% endblock %}
-{% block js %}
-{% endblock %}
diff --git a/templates/good_pay.html b/templates/good_pay.html
deleted file mode 100755
index 3eab4a7..0000000
--- a/templates/good_pay.html
+++ /dev/null
@@ -1,185 +0,0 @@
-{% extends 'base_index.html' %}
-{% load static %}
-{% load course_filter %}
-{% block page_title %}Доступные курсы{% endblock %}
-{% block head %}
-{% endblock %}
-{% block content %}
-
-
-
-
-
- Доступные курсы
-
-
-
-
-
-
- {% for i in courses %}
-
-
-
- {% if i.level == 'B' %}
-
- {{ i.get_level_display }} уровень
-
- {% else %}
- {% if i.level == 'A' %}
-
- {{ i.get_level_display }} уровень
-
- {% else %}
- {% if i.level == 'E' %}
-
- {{ i.get_level_display }} уровень
-
- {% endif %}
- {% endif %}
- {% endif %}
-
-
- {% if i.id|get_progress_persent:request.user.id != 0 %}
-
- {{ i.id|get_progress_persent:request.user.id }}%
-
- {% endif %}
-
{{ i.title }}
- {{ i.lessons_length }} урока(-ов)
-
- {% for skill in i.get_skills %}
- {{ skill.skill }}
- {% endfor %}
-
-
-
- {% for n in i.skills %}
- {{ i.skill }}
- {% endfor %}
-
-
-
-
-
-
-
-
- {% endfor %}
-
-
-
-
-
-{% if request.user.is_authenticated %}
- {% if actions %}
-
-
-
Последняя активность
ВСЯ ИСТОРИЯ
-
- {% for i in actions %}
-
-
-
{{ i.date }} {{ i.place }}
-
{{ i.text|safe }}
-
-
- {% endfor %}
-
-
-
- {% endif %}
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Hi John, What's up...
-
-
2 minutes ago
-
-
-
-
-
-
-
-
Lorem ipsum dolor :)
-
-
1 minutes ago
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-
-{% block js %}
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/homework.html b/templates/homework.html
deleted file mode 100755
index 915f2aa..0000000
--- a/templates/homework.html
+++ /dev/null
@@ -1,336 +0,0 @@
-{% extends 'base_index.html' %}
-{% block head %}
-
-
-{% endblock %}
-{% block title %}{{ course.head.title }} / Домашнее задание{% endblock %}
-
-{% block content %}
-
- {% if homework.heaad.status == 'T' %}
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
- {{ course.level.title }} уровень
-
-
-
- {{ course.head.title }}
-
-
-
-
Приобретаемые навыки:
- {% for skill in course.head.skills %}
-
{% if skill.mini_icon %} {% endif %}{{ skill }}
- {% endfor %}
-
-
- {{ course.head.lessons }} урока(-ов)
-
-
-
-
- {% if course.head.progress != 0 %}
-
- {{ course.head.progress }}%
-
- {% endif %}
-
-
-
-
-
-
-
-
-
- {{ course.level.title }} уровень
-
-
-
- {{ course.head.title }}
-
-
-
-
Приобретаемые навыки:
- {% for skill in course.head.skills %}
-
{% if skill.mini_icon %} {% endif %}{{ skill }}
- {% endfor %}
-
-
- {{ course.head.lessons }} урока(-ов)
-
-
-
-
- {% if course.head.progress != 0 %}
-
- {{ course.head.progress }}%
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
Описание задания
-
- {{ homework.head.description|safe }}
-
-
-
-
-
- {% if homework.materials %}
-
-
-
- Материалы к заданию
-
- {% for i in homework.materials %}
-
- {% endfor %}
-
-
- {% endif %}
-
-
-
-
-
-
- {% if homework.tries %}
-
Попыток: ({{ homework.tries|length }} )
- {% if homework.head.status.flag == 'T' or homework.head.status.flag == 'A' %}
- {% if homework.head.delay.status %}
- Могут быть незначительные задержки с проверкой{% if homework.head.delay.description %}: "{{ homework.head.delay.description|safe }}" {% endif %}
- {% endif %}
- {% endif %}
-
- {% endif %}
-
- {% if homework.tries %}
- {% for try in homework.tries %}
-
-
-
-
-
-
-
-
LMS: ~#
-
-
Попытка №{{ forloop.counter }}
-
-
-
-
- {{ try.teacher.get_full_name }}
- {{ try.teacher.get_short_name }}
-
-
-
-
-
- {{ try.status.title }}
-
-
-
-
-
-
-
- {% for comment in try.comments %}
-
-
-
-
-
-
-
- {{ comment.owner }}
-
-
- {{ comment.date }}
-
-
-
{{ comment.text|safe }}
- {% for file in comment.files %}
-
- {% endfor %}
-
-
-
-
-
- {% endfor %}
-
- {% endfor %}
- {% endif %}
- {% if request.user.is_authenticated %}
- {% if homework.head.status.flag != 'N' and homework.head.status.flag != 'F' %}
-
-
- Отправка комментария
-
-
-
-
- Оставить сообщение :
-
- {% if request.user.is_authenticated and resuqest.user.in_role == 'Ts' or request.user.in_role == 'A' %}
-
- Просто отправить
- Заставить одобрить
- Заставить отказать
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
-
- Добавить файл
-
-
-
-
-
- {% endif %}
- {% else %}
-
Для работы с домашним заданием, авторизуйтесь.
- {% endif %}
-
-
-
-
-
-
-
-{% include 'right_site.html' %}
-
-{% endblock %}
-
-{% block js %}
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/index.html b/templates/index.html
deleted file mode 100755
index 2f2fe73..0000000
--- a/templates/index.html
+++ /dev/null
@@ -1,140 +0,0 @@
-{% extends 'base_index.html' %}
-{% load static %}
-{% block page_title %}Доступные курсы «{{ NAME }}»{% endblock %}
-{% block title %}Доступные курсы «{{ NAME }}»{% endblock %}
-{% block head %}
-
- {% if bought %}
-
- {% endif %}
-{% endblock %}
-{% block content %}
-
-
-
- {% if bought %}
-
- Все курсы
-
-
-
- Мои курсы
-
-
- Все курсы
-
-
-
- Мои курсы
-
- {% endif %}
- {% for i in courses %}
-
-
- {% endfor %}
-
-
-
- {% include 'right_site.html' %}
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-
-{% block js %}
-
-{% endblock %}
diff --git a/templates/index_menu.html b/templates/index_menu.html
deleted file mode 100755
index b326dfd..0000000
--- a/templates/index_menu.html
+++ /dev/null
@@ -1,143 +0,0 @@
-
\ No newline at end of file
diff --git a/templates/lesson.html b/templates/lesson.html
deleted file mode 100755
index 75f6ec3..0000000
--- a/templates/lesson.html
+++ /dev/null
@@ -1,248 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}{{ course.head.title }} / {{ lesson.head.title }}{% endblock %}
-
-{% block content %}
-
-
-
-
-
-
-
-
-
-
-
- {{ course.head.title }}
-
-
-
-
Приобретаемые навыки:
- {% for skill in course.head.skills %}
-
{% if skill.mini_icon %} {% endif %}{{ skill }}
- {% endfor %}
-
-
- {{ course.head.lessons }} урока(-ов)
-
-
-
-
- {% if course.head.progress != 0 %}
-
- {{ course.head.progress }}%
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
- {{ course.head.title }}
-
-
-
-
Приобретаемые навыки:
- {% for skill in course.head.skills %}
-
{% if skill.mini_icon %} {% endif %}{{ skill }}
- {% endfor %}
-
-
- {{ course.head.lessons }} урока(-ов)
-
-
-
-
- {% if course.head.progress != 0 %}
-
- {{ course.head.progress }}%
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
- Видео к занятию: {{ lesson.head.title }}
-
-
-
-
-
- Пометить как просмотренное
-
-
-
-
-
- {{ lesson.video|safe }}
-
-
-
- Пометить как просмотренное
-
-
-
-
-
-
- {% if lesson.description %}
-
-
-
-
Описание урока
-
-
-
- {{ lesson.description|safe }}
-
-
-
-
- {% endif %}
- {% if lesson.materials %}
-
-
-
- Материалы к уроку
-
- {% for i in lesson.materials %}
-
- {% endfor %}
-
-
- {% endif %}
-
-
- {% if lesson.head.on_comment %}
-
Показать старые комментарии
-
-
-
- {% include 'comments_block.html' %}
-
- {% endif %}
-
-
-
-
-
-
-{% include 'right_site.html' %}
-
-{% endblock %}
-
-{% block js %}
-
-
- {% if 'to_comment' in request.GET %}
-
- {% endif %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/mail.html b/templates/mail.html
deleted file mode 100755
index 70befa9..0000000
--- a/templates/mail.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-{% block content %}{% endblock %}
- С уважением, Точка кода
-
-
-
-
\ No newline at end of file
diff --git a/templates/mails/new_users.html b/templates/mails/new_users.html
deleted file mode 100644
index c720e63..0000000
--- a/templates/mails/new_users.html
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-Здравствуйте!
-Рады сообщить, что сегодня начинается ваше обучение на курсе «Профессия PR-менеджер» и перевели курс на новую платформу обучения — http://go.skillbox.ru/
-
-Важно!Для корректной регистрации вам необходимо в поле e-mail указать тот адрес, на который вы сейчас получили это письмо. В противном случае доступ вам не откроется.
-
-Для входа на обучающую платформу - вам необходимо пройти процесс активации в системе. Для этого перейдите по ссылке ниже:
-{{ LINK }}
-
-Как работать в системе. Краткая инструкция.
-
-Просмотр уроков
-
-• С главной страницы (http://go.skillbox.ru/) перейдите в раздел с вашим курсом, кликнув по иконке курса «Профессия PR-менеджер».
-• Вы попадёте на страницу с перечнем тем (модулей) и уроков которые вам сейчас доступны
-• Первая тема курса уже доступна для просмотра. Нажимайте на кнопку «Перейти к уроку», и приступайте к просмотру видеоурока.
-
-Отправка домашних заданий
-• Просматриваете уроки, отмечаете их «просмотренными» (большая зеленая кнопка над и под видео)
-• После того как отметите последний урок в теме, — появиться активная ссылка на переход в раздел с домашним заданием
-• В разделе с ДЗ описано задание и прикреплены файлы для выполнения работы
-• Ниже на странице с заданием есть форма обратной связи, через неё необходимо направлять задание на проверку. Также через неё можно общаться с преподавателем, задавать вопросы, связанными с выполнением работы или вопросы по просмотренному материалу.
-
-Дополнительно
-• После того как преподаватель даст комментарий по работе, вам на почту придет об этом письмо, а так же отобразиться в новостной ленте справа.
-• Если задание отправлено на доработку, то вам необходимо исправленный проект направить через эту же форму повторно.
-• перейти в раздел с работой, что бы посмотреть комментарий вы можете из системы, просто нажав на «домашнее задание» под темой которую изучаете или из письма по ссылке.
-
-Общаться со студентами вы теперь можете в комментариях под каждым видео.
-Делитесь мнениями и идеями :slightly_smiling_face:
-
-По всем вопросам, связанным с курсом смело обращайтесь на почту info@ucandesign.ru
-Для вашего удобства в системе есть раздел «Помощь» с часто задаваемыми вопросами http://go.skillbox.ru/management/faq
-
-
-
- С уважением, SkillBox
-
- Пожалуйста, по любым вопросам смело пишите на support@skillbox.ru
-
-
-
\ No newline at end of file
diff --git a/templates/mails/sent_order.html b/templates/mails/sent_order.html
deleted file mode 100644
index 6772823..0000000
--- a/templates/mails/sent_order.html
+++ /dev/null
@@ -1,279 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-asd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{{ USER }}, вам выставлен счет для оплаты.
-
-
Состав заказа: {{ SERVICE }}
-
Сумма для оплаты: {{ PRICE }} руб.
-
- Ваш менеджер:
-
-
{{ MANAGER }}
-
-
{{ MANAGER_EMAIL }}
-
-{% if FILE %}
Программа курса {% endif %}
-
-
Чтобы выбрать способ оплаты и оплатить данный счет, воспользуйтесь ссылкой: {{ LINK }}
или кнопкой ниже
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Пожалуйста, по любым вопросам смело звоните по номеру 8 495 120-40-96 (с 10:00 до 19:00 по Москве) или пишите на support@skill-box.ru
-
-
-
-
-
-
-
-
-
-
-
-
-Офис: Москва, ул. Бауманская, д. 11
8 495 120-40-96 (с 10 до 19 по Москве)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/mails/sent_out_order.html b/templates/mails/sent_out_order.html
deleted file mode 100644
index 504ad3c..0000000
--- a/templates/mails/sent_out_order.html
+++ /dev/null
@@ -1,275 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-{{ TITLE }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Пришла очередная заявка
-
-
Состав: {{ TITLE }}
-
- {% if USER_NAME %}
-
Имя: {{ USER_NAME }}
-
- {% endif %}
- {% if EMAIL %}
-
Почта: {{ EMAIL }}
-
- {% endif %}
- {% if PHONE %}
-
Телефон: {{ PHONE }}
-
- {% endif %}
- {% if HOST %}
-
Источник: {{ HOST }}
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
Пожалуйста, по любым вопросам смело звоните по номеру 8 495 120-40-96 (с 10:00 до 19:00 по Москве) или пишите на support@skill-box.ru
-
-
-
-
-
-
-
-
-
-
-
-
-Офис: Москва, ул. Бауманская, д. 11
8 495 120-40-96 (с 10 до 19 по Москве)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/mails/webinar.html b/templates/mails/webinar.html
deleted file mode 100644
index fa96626..0000000
--- a/templates/mails/webinar.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-Здравствуйте!
-
-По многочисленным просьбам слушателей, мы добавили к первому модулю курса "Профессия PR-менеджер" домашнее задание.
-
-Второй модуль будет доступен после выполнения домашнего задания.
-
-Как отвечать на домашние задания в системе?
-• После того как отметите последний урок в теме «просмотренным», — появиться активная ссылка на переход в раздел с домашним заданием
-• Ниже на странице с заданием есть форма обратной связи, через неё необходимо направлять задание на проверку.
-Также через неё можно общаться с преподавателем, задавать вопросы, связанными с выполнением работы или вопросы по просмотренному материалу.
-• Как только преподаватель проверит и одобрит Вашу работу, Вам откроется доступ ко второму модулю.
-
-По всем вопросам, обращайтесь на почту: info@bedev.ru
-
-
- С уважением, SkillBox
-
- Пожалуйста, по любым вопросам смело пишите на support@skillbox.ru
-
-
-
\ No newline at end of file
diff --git a/templates/manager_account.html b/templates/manager_account.html
deleted file mode 100755
index d45655b..0000000
--- a/templates/manager_account.html
+++ /dev/null
@@ -1,101 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Кабинет продаж{% endblock %}
-{% block modals %}
-{% endblock %}
-{% block asside %}
-
-
-
-
-
-
-
-
-{% include 'index_menu.html' %}
-
-
-
-
-
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
-
-
-
-
-
Свободные счета
-
-
-
-
-
-
...
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/manager_history.html b/templates/manager_history.html
deleted file mode 100755
index 8fc4585..0000000
--- a/templates/manager_history.html
+++ /dev/null
@@ -1,178 +0,0 @@
-{% extends 'base_index.html' %}
- {% block asside %}
-
-
-
-
-
-
-
-
-{% include 'index_menu.html' %}
-
-
-
-
-
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
-
-
-
-
- Плательщик
- Телефон
- Email
- Курс
- Услуга
- Сумма
- Дата выставления
- Дата смены статуса
- Статус счета
- Отправленные письма
-
-
-
- {% for i in yourbills %}
-
-
- {{ i.user.get_full_name }}
- {{ i.user.get_phone }}
- {{ i.user.email }}
- {{ i.service.course }}
- {{ i.service.title }}
- {{ i.price }}
- {{ i.date }}
- {{ i.status_changed }}
- {{ i.get_status_display }}
-
- {% for letter in i.create_letters.all %}{{ letter }} {% empty %}-{% endfor %}
- {% for letter in i.finish_letters.all %}{{ letter }} {% empty %}-{% endfor %}
-
-
- {% endfor %}
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
diff --git a/templates/manager_profile.html b/templates/manager_profile.html
deleted file mode 100755
index 7dc0398..0000000
--- a/templates/manager_profile.html
+++ /dev/null
@@ -1,135 +0,0 @@
-{% extends 'base_index.html' %}
-{% block modals %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-{% block asside %}
-
-
-
-
-
-
-
-
-{% include 'index_menu.html' %}
-
-
-
-
-
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
Пользователи системы
-
-
-
-
-
-
-
- Поиск пользователей
-
- Поиск
-
-
Отправить письмо регистрации
-
-
Результатов нет
-
-
-
- Пользователь
- email
- Телефон
- Действие
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/manager_servicerequest.html b/templates/manager_servicerequest.html
deleted file mode 100755
index c6615df..0000000
--- a/templates/manager_servicerequest.html
+++ /dev/null
@@ -1,295 +0,0 @@
-{% extends 'base_index.html' %}
-{% block asside %}
-
-{% endblock %}
-{% block modals %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Не продал
-
-
- Причина отказа
-
-
- Отправить
-
-
-
-
-
-
-
-
-
- {% for i in servicerequests %}
-
-
-
-
-
-
-
- {% if i.charge %}
-
Поручение руководителя
-
- {{ i.charge }}
-
- {% endif %}
-
-
-
-
Обработка заявки
-
-
- {{ i.student.get_phone }}
- {{ i.student.get_back_phone }}
-
-
-
Студент:
-
{{ i.student.get_full_name }}
-
-
-
Услуга:
-
- {{ i.get_name }}
-
-
-
-
-
Город:
-
- {% if i.user.city %}
- {{ i.user.city }}
- {% else %}
- Не указан
- {% endif %}
-
-
- Выписать счет
- Не продал
-
-
-
-
-
-
-
-
-
- {% endfor %}
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
Запросы на услуги
-
-
-
-
-
-
-
-
- Плательщик
- Телефон
- Курс
- Статус запроса
-
-
-
-
- {% for i in servicerequests %}
-
- {{ i.student }}
- {{ i.student.get_phone }}
- {{ i.get_name }}
-
- {% if i.manager == request.user and i.status == 'W' %}
- Вы не закончили обработку
- {% else %}
- {{ i.get_status_display }}
- {% endif %}
-
-
- {% if i.manager == request.user and i.status == 'W' %}
- Продолжит работу
- {% else %}
- Взять в работу
- {% endif %}
-
-
- {% empty %}
-
-
-
- Запросов нет
-
-
-
- {% endfor %}
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/menu.html b/templates/menu.html
deleted file mode 100644
index de704f6..0000000
--- a/templates/menu.html
+++ /dev/null
@@ -1,47 +0,0 @@
-
\ No newline at end of file
diff --git a/templates/new_reports.html b/templates/new_reports.html
deleted file mode 100755
index 682da4f..0000000
--- a/templates/new_reports.html
+++ /dev/null
@@ -1,70 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% block title %}Отчеты{% endblock %}
-{% block head %}
-
-{% endblock %}
-{% block content %}
-
-
Д/З
-
- ---
- {% for id, course in courses.items %}
- {{ course }}
- {% endfor %}
-
-
-
-
-
-
Уроки
-
- ---
- {% for id, course in courses.items %}
- {{ course }}
- {% endfor %}
-
-
-
-
-
-
- Активность пользователей
-
-
-
- Всего пользователей
- Не активных
- Оплатившие
- Без активности День
- Без активности 3 Дня
- Без активности Неделю
- Без активности Месяц
-
-
- {{ users.all }}
- {{ users.no_active.int }} [{{ users.no_active.proc }}%]
- {{ users.bought.all.int }} [{{ users.bought.all.proc }}%]
- {{ users.bought.day.int }} [{{ users.bought.day.proc }}%]
- {{ users.bought.three.int }} [{{ users.bought.three.proc }}%]
- {{ users.bought.week.int }} [{{ users.bought.week.proc }}%]
- {{ users.bought.month.int }} [{{ users.bought.month.proc }}%]
-
-
-
-
-
-
Отчет прохождения
-
- ---
- {% for id, course in courses.items %}
- {{ course }}
- {% endfor %}
-
-
-
-
-{% endblock %}
-{% block js %}
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/news_one.html b/templates/news_one.html
deleted file mode 100755
index 03febe1..0000000
--- a/templates/news_one.html
+++ /dev/null
@@ -1,67 +0,0 @@
-{% extends 'base_index.html' %}
-{% block content %}
-
-
-
-
-
-
-
-
{{ news.title }}
-
{{ news.get_date }}
-
-
-
-
-
-
-
- {{ news.content|safe }}
-
-
-
-
-
-
-
-
-
- {% if request.user.is_authenticated %}
-
-
-
Последняя активность
-
-
-
-
минуту назад Курс «Профессия веб-разработчик», занятие 6
-
Ваше домашнее задание одобрено преподавателем.
-
-
-
-
-
23:30 Курс «Профессия веб-разработчик», занятие 6.
-
Ваше домашнее задание проверено преподавателем. Вам необходимо провести работу над ошибками
-
-
-
-
-
понедельник, 03.02.2015 Курс «Профессия веб-разработчик», занятие 6.
-
Преподаватель оставил комментарий
-
-
-
-
-
- {% endif %}
-
-
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/no_auth_modals.html b/templates/no_auth_modals.html
deleted file mode 100755
index d6375b1..0000000
--- a/templates/no_auth_modals.html
+++ /dev/null
@@ -1,283 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Успешная регистрация!
-
- {% csrf_token %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Вход в систему
-
-
-
-
- Войти
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Восстановление пароля
-
-
-
- Восстановить пароль
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Восстановление пароля
-
Письмо с информацией отправлено на почту
-
Закрыть
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Восстановление пароля
-
Новый пароль отправлен на вашу почту
-
Закрыть
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Пользователь заблокирован
-
С вашего аккаунта замечена подозрительная активность c ( ) IP адресов. Аккаунт временно заблокирован, просим для уточнения обратиться в администрацию на почту hello@skillbox.ru
-
Закрыть
-
-
-
-
-
-
-
-
-
-{% if request.GET.userblocked %}
-
-{% endif %}
\ No newline at end of file
diff --git a/templates/one_comment.html b/templates/one_comment.html
deleted file mode 100644
index f73816b..0000000
--- a/templates/one_comment.html
+++ /dev/null
@@ -1,63 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Комментарий #{{ comment.id }}{% endblock %}
-{% block content %}
-
-
-
-
-
-
-
-
Комментарий #{{ comment.id }}
-
{{ comment.date }}
-
-
-
-
-
-
-
- {{ comment.text|safe }}
-
-
-
-
-
-
-
-
-
- {% if request.user.is_authenticated %}
-
-
-
Последняя активность
-
-
-
-
минуту назад Курс «Профессия веб-разработчик», занятие 6
-
Ваше домашнее задание одобрено преподавателем.
-
-
-
-
-
23:30 Курс «Профессия веб-разработчик», занятие 6.
-
Ваше домашнее задание проверено преподавателем. Вам необходимо провести работу над ошибками
-
-
-
-
-
понедельник, 03.02.2015 Курс «Профессия веб-разработчик», занятие 6.
-
Преподаватель оставил комментарий
-
-
-
-
-
- {% endif %}
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/practice_workshop.html b/templates/practice_workshop.html
deleted file mode 100644
index d16a453..0000000
--- a/templates/practice_workshop.html
+++ /dev/null
@@ -1,281 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{ face.title }} - {{ NAME }}
-
-
-
-
-
-
- {% block content.head %}
- {{ content.head|safe }}
- {% endblock %}
-
-
-
-
-
-
-
-
- Мастерская "{{ face.title }}"
-
- Ключ мастерской: {{ face.key }}
- подробнее
-
-
-
-
-
- Подробная информация
- закрыть
-
-
Доступ: {{ face.access }}
-
Открытие комнаты: {{ face.date }}
-
Просмотров: {{ face.views }}
-
Студентов* посетило: {{ face.students }}
-
Студенты* on-line :
- {{ face.online }}
-
- {% for student in face.now_users %}
-
-
-
- {% if student.name %}{{ student.name }}{% else %}{{ student.interactive_key }}{% endif %} online
-
- {% if student.is_staff %} {% endif %}
- {{ student.role }}
-
- Посмотреть профиль
-
- {% endfor %}
-
-
-
* - Пользователи, прошедшие процесс регистрации
-
-
-
-
- События мастерской:
- 0
-
-
-
-
- {% if content.body %}
-
-
- Интерактивные элементы:
-
-
- {{ content.body|safe }}
-
-
- {% endif %}
- {% if content.description %}
-
-
- Описание задачи:
-
-
- {{ content.description|safe }}
-
-
- {% endif %}
- {% if content.resolve %}
-
-
- Пример решения:
-
- закрыть
-
-
-
- {{ content.resolve|safe }}
-
-
-
- Посмотреть решение
-
- {% endif %}
- {% if content.content %}
-
-
- Описание методов:
-
-
- {{ content.content|safe }}
-
-
- {% endif %}
- {% if content.variables %}
-
-
- Описание переменных:
-
-
- {{ content.variables|safe }}
-
-
- {% endif %}
- {% if content.tools %}
-
-
- Используемые инструменты:
-
-
-
- {% endif %}
-
-
-
-
-
-
diff --git a/templates/profile.html b/templates/profile.html
deleted file mode 100755
index e3f4c73..0000000
--- a/templates/profile.html
+++ /dev/null
@@ -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 %}
-
-
-
-
-{% block head %}
-
-{% endblock %}
-{% block content %}
-
-
-
-
-
- {% for key, values in achievements.items %}
- {% for i in values %}
-
-
-
- {% endfor %}
-
- {% endfor %}
-
-
-
-
-
-
-
-
- {% if in_user %}{% if in_user.unique_role %} {{ in_user.unique_role }}{% else %} {{ in_user.get_in_role_display }}{% endif %}
- {% else %}{% if request.user.unique_role %} {{ request.user.unique_role }}{% else %} {{ request.user.get_in_role_display }}{% endif %}{% endif %}
-
- {% if in_user %}
-
- {% if in_user.status == 'ON' %} {% else %} {% endif %}
- {{ in_user.get_status_display }}
- {% else %}
-
- {% if request.user.status == 'ON' %} {% else %} {% endif %}
- {{ request.user.get_status_display }}
- {% endif %}
-
-
-
-
-
-
-
-
-
- Основная информация
-
-
-
-
{% if in_user %}{{ in_user.fname }}{% else %}{{ request.user.fname }}{% endif %}
-
{% if in_user %}{{ in_user.name }}{% else %}{{ request.user.name }}{% endif %}
-
{% if in_user %}{{ in_user.oname }}{% else %}{{ request.user.oname }}{% endif %}
-
{% if in_user %}{{ in_user.city }}{% else %}{{ request.user.city }}{% endif %}
- {% if not in_user %}
Изменить данные
{% endif %}
-
-
{% if in_user %}
- Регистрации: {{ in_user.date_joined }}
- {% else %}
- Регистрации: {{ request.user.date_joined }}
- {% endif %}
-
-
-
- {% if not in_user %}
-
-
-
- Настройки приватности
-
-
-
-
- {% endif %}
-
-
-
- Ваши курсы Всего: {{ courses|length }} / Пройдено: {{ completed_courses }}
-
-
- {% for i in courses %}
-
-
- {% if i.teacher %}
-
-
-
-
-
-
-
-
Ваш преподаватель
-
- {{ i.teacher.fname }} {{ i.teacher.name }}
- {{ i.teacher.oname }}
-
-
Профиль
-
-
- {% endif %}
-
-
- {% empty %}
-
На изучении курсов нет
- {% endfor %}
-
-
-
-
-
-
-
-
-
Ваши очки навыков {{ skills_size }}
-
-
- {% if skills %}
-
- {% else %}
-
Навыков не получено
- {% endif %}
-
-
- {% for key, value in skills.items %}
-
- {{ value.size }} очков
- {% if value.icon %} {% endif %}{{ key }}
-
-
- {% endfor %}
-
- {{ skills_size }} очков
-
- Итого:
-
-
-
- {% if documents %}
-
-
Документы {{ documents|length }}
-
-
- {% endif %}
- {% if b_bills %}
-
-
Счета {{ b_bills|length }}
-
-
- {% endif %}
-
-
-
-
- Ваши дипломы {{ diploms|length }}
-
-
-
- {% for i in diploms %}
-
-
-
-
-
-
- Успешное прохождение курса: {{ i.material.course.get_title }}
- Выдан {{ i.date }}
-
- Посмотреть диплом
-
- {% empty %}
- Дипломов не получено
- {% endfor %}
-
-
-
-
-
- Ваши достижения {{ got_achievements }}
-
-
- {% for key, values in achievements.items %}
-
- {% empty %}
-
Достижений еще нет
- {% endfor %}
-
-
-
-
-
- Вопросы на
форуме {{ forum_ask|length }}
-
-
- {% for key, values in forum_ask.items %}
-
- {% empty %}
-
Вопросов еще не было
- {% endfor %}
-
-
-
-
-
-
-
- Ответы на
форуме Всего: {{ forum_ans.all|length }} Лучшие: {{ forum_ans.best }}
-
-
- {% for key, values in forum_ans.all.items %}
-
- {% empty %}
-
Ответов еще не было
- {% endfor %}
-
-
-
-
-
-
-
- Прочитанные
статьи {{ articles|length }}
-
-
- {% for article in articles %}
-
-
- {{ article.title }}
-
-
- {% empty %}
-
Нет прочитанного
- {% endfor %}
-
-
-
-
-
-
-
-
-{% include 'right_site.html' %}
-{% endblock %}
-{% block js %}
-
-
-
-
-
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/progress_report.html b/templates/progress_report.html
deleted file mode 100755
index 6786282..0000000
--- a/templates/progress_report.html
+++ /dev/null
@@ -1,85 +0,0 @@
-{% extends 'base_index.html' %}
-{% load course_filter %}
-{% block title %}Отчет по прохождению{% endblock %}
-{% block content %}
-
-
-
-
-
-
- {% for m in map %}
-
-
-
- {% for theme in m.themes %}
-
-
-
- {% endfor %}
-
-
-
-
-
-
- {% endfor %}
-
-
-
-
-
Запустить отчет
-
-
-
-
-
-
Получение информации. Осталось:
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
diff --git a/templates/reports.html b/templates/reports.html
deleted file mode 100755
index 2f2da70..0000000
--- a/templates/reports.html
+++ /dev/null
@@ -1,55 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% block title %}Отчеты{% endblock %}
-{% block page_title %}Отчеты{% endblock %}
-{% block content %}
-
- ДЗ
-
-
-
- Курс
- Работ
- В процессе
- Без задержек
- Просрочено
- От
-
- {% for key, course in courses.items %}
-
- {{ course.title }}
- {{ course.students }}
- {{ course.process }}
- {{ course.success }}
- {{ course.expired }}
- {{ course.date }}
-
- {% endfor %}
-
-
- Активность пользователей
-
-
-
- Всего пользователей
- Не активных
- Оплатившие
- Без активности День
- Без активности 3 Дня
- Без активности Неделю
- Без активности Месяц
-
-
- {{ users.all }}
- {{ users.no_active.int }} [{{ users.no_active.proc }}%]
- {{ users.bought.all.int }} [{{ users.bought.all.proc }}%]
- {{ users.bought.day.int }} [{{ users.bought.day.proc }}%]
- {{ users.bought.three.int }} [{{ users.bought.three.proc }}%]
- {{ users.bought.week.int }} [{{ users.bought.week.proc }}%]
- {{ users.bought.month.int }} [{{ users.bought.month.proc }}%]
-
-
- Другие отчеты
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/reports/base_index.html b/templates/reports/base_index.html
deleted file mode 100755
index af6929d..0000000
--- a/templates/reports/base_index.html
+++ /dev/null
@@ -1,222 +0,0 @@
-{% load static %}
-
-
-
-
- {% block title %}{% endblock %} - Точка кода
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {% block head %}
- {% endblock %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/templates/reports/bills.html b/templates/reports/bills.html
deleted file mode 100755
index a66d318..0000000
--- a/templates/reports/bills.html
+++ /dev/null
@@ -1,81 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% load course_filter %}
-{% block title %}Отчет по прохождению{% endblock %}
-{% block head %}
-{% endblock %}
-{% block content %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Выгрузить
-
-
-
-
-
-
-
- {% for course, values in courses.items %}
-
-
- {% for token in values.map %} {% endfor %}
-
- {% for user in values.users %}
- {% for token in values.map %} {% endfor %} {% endfor %}
-
-
- {% endfor %}
-
-
-
-
-{% endblock %}
-{% block js %}
-
-
-
-{% endblock %}
diff --git a/templates/reports/freeweek.html b/templates/reports/freeweek.html
deleted file mode 100755
index 9248e11..0000000
--- a/templates/reports/freeweek.html
+++ /dev/null
@@ -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 %}
- Назад
- {% endif %}
-
- {% if title %}{{ title }}{% else %}Активность пользователей{% endif %}
-
- {% if not title %}
-
-
- Всего пользователей
- Прошли активацию
- Java [ {{ java.all }} ]
- Web [ {{ web.all }} ]
- Android [ {{ android.all }} ]
- C# [ {{ csh.all }} ]
-
-
- {{ all }}
- {{ active.count }} [{{ active.persent }}%]
-
- Проходят обучение: {{ java.in.count }}
- Получили домашку: {{ java.in_hw }}
- Сдали домашку: {{ java.out_hw }}
-
-
- Проходят обучение: {{ web.in.count }}
- Получили домашку: {{ web.in_hw }}
- Сдали домашку: {{ web.out_hw }}
-
-
- Проходят обучение: {{ android.in.count }}
- Получили домашку: {{ android.in_hw }}
- Сдали домашку: {{ android.out_hw }}
-
-
- Проходят обучение: {{ csh.in.count }}
- Получили домашку: {{ csh.in_hw }}
- Сдали домашку: {{ csh.out_hw }}
-
-
-
-
-
- Открыть конкретику
- Открыть конкретику
- Открыть конкретику
- Открыть конкретику
-
-
- {% else %}
-
-
- ФИО
- Телефон
- Email
- ---
- Дата открытия доступа
- ---
- ---
- Дата завершения доступа
- ---
-
-
- Весь список [{{ b_in|length }}]
-
- {% for bill in b_in %}
-
- {{ bill.user.id }}:{{ bill.user.get_full_name }}
- {{ bill.user.get_phone }}
- {{ bill.user.email }}
- ---
- {{ bill.finish_date }}
- ---
- ---
- {{ bill.fire_date }}
- ---
-
- {% endfor %}
-
- Получили ДЗ [{{ in_hw|length }}]
-
-
- ФИО
- Телефон
- Email
- Точка нахождения
- Дата открытия доступа
- Дата получения задания
- ---
- Дата завершения доступа
- Попыток сдачи
-
- {% for h in in_hw %}
-
- {{ h.student.id }}:{{ h.student.get_full_name }}
- {{ h.student.get_phone }}
- {{ h.student.email }}
- {{ h.material.theme.sort }}:{{ h.material.get_title }}
-
- {{ h.date }}
- ---
-
- {{ h.get_trues_length }}
-
- {% endfor %}
-
- Сдали ДЗ [{{ out_hw|length }}]
-
-
- ФИО
- Телефон
- Email
- Точка нахождения
- Дата открытия доступа
- Дата получения задания
- Дата сдачи задания
- Дата завершения доступа
- Попыток сдачи
-
- {% for h in out_hw %}
-
- {{ h.student.id }}:{{ h.student.get_full_name }}
- {{ h.student.get_phone }}
- {{ h.student.email }}
- {{ h.material.theme.sort }}:{{ h.material.get_title }}
-
- {{ h.date }}
- {{ h.f_date }}
-
- {{ h.get_trues_length }}
-
- {% endfor %}
-
- {% endif %}
-{% endblock %}
-{% block js %}
-{% endblock %}
diff --git a/templates/reports/hw_process_pp.html b/templates/reports/hw_process_pp.html
deleted file mode 100755
index f4d16fe..0000000
--- a/templates/reports/hw_process_pp.html
+++ /dev/null
@@ -1,117 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% load course_filter %}
-{% block title %}Проверки{% endblock %}
-{% block page_title %}Проверки{% endblock %}
-{% block head %}
-
-
-{% endblock %}
-{% block content %}
-
- Проверки по пользователю
-
-
-
-
- Фамилия Имя
-
- {% if request.user.status == 'ON' %} {% else %} {% endif %}
- {{ request.user.get_status_display }}
- Регистрация:
-
-
-
-
-
Введите Email искомого пользователя:
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-{% block js %}
-{% endblock %}
diff --git a/templates/reports/hw_process_pt.html b/templates/reports/hw_process_pt.html
deleted file mode 100755
index 5786aaf..0000000
--- a/templates/reports/hw_process_pt.html
+++ /dev/null
@@ -1,139 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% load course_filter %}
-{% block title %}Проверки по учителю{% endblock %}
-{% block page_title %}Проверки по учителю{% endblock %}
-{% block head %}
-{% endblock %}
-{% block content %}
-
-
- Проверки по учителю
-
-
-
-
-
-
- Курс
-
-
-
- {% for course in courses %}
- {{ course.title }}
- {% endfor %}
-
-
-
-
-
- Преподаватель
-
-
-
Загрузка
-
-
-
-
-
- Временной разрез
-
-
-
-
-
- Ключевая информация
-
-
- Ведет студентов: -
- Взято: -
- Принято работ: -
- В работе: -
- Просрочено работ: -
-
-
-
-
- Выгрузить
-
-
Ошибка
-
-
- Результат
- Загрузка
-
-
-
-
- ID
- Материал
- Студент
- Дата начала
- Дата завершения
- Статус
- Попытки
- Просрочено
- Детализация
-
-
-
-
-
-
Всего строк в таблице:
-
-
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
diff --git a/templates/reports/mails.html b/templates/reports/mails.html
deleted file mode 100755
index 9dd6616..0000000
--- a/templates/reports/mails.html
+++ /dev/null
@@ -1,113 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% block title %}Рассылки{% endblock %}
-{% block content %}
-
-
Ручные рассылки
-
-
-
-
-
-
-
-
-
Выгрузить пример
-
-
-
-
-
-
- Статистика отправок
-
-
-
-
- За день
- За 3 дня
- За неделю
- За месяц
- За 3 месяца
- За все время
-
- {% for point, numbers in stat.items %}
-
- {{ point }}
- {{ numbers.d1 }}
- {{ numbers.d3 }}
- {{ numbers.w1 }}
- {{ numbers.m1 }}
- {{ numbers.m3 }}
- {{ numbers.all }}
-
- {% endfor %}
-
- Всего
-
-
-
-
-
-
-
-
-
-
-
- История ручных рассылок
-
-
-
-
- Рассылки от:
-
-
-
-
- Отправитель
- Текст рассылки
- Дата отправки
- Получатели
- Отправлено
-
- {% for hist in self_reports %}
- {% empty %}
-
- История еще не написана
-
- {% endfor %}
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/reports/menu.html b/templates/reports/menu.html
deleted file mode 100755
index 27ca46a..0000000
--- a/templates/reports/menu.html
+++ /dev/null
@@ -1,47 +0,0 @@
-
\ No newline at end of file
diff --git a/templates/reports/progress.html b/templates/reports/progress.html
deleted file mode 100755
index aba986e..0000000
--- a/templates/reports/progress.html
+++ /dev/null
@@ -1,104 +0,0 @@
-{% extends 'reports/base_index.html' %}
-{% load course_filter %}
-{% block title %}Отчет по прохождению{% endblock %}
-{% block head %}
-{% endblock %}
-{% block content %}
-
-
-
-
Выгрузить
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {% for course, values in courses.items %}
-
-
- {% for token in values.map %} {% endfor %}
-
- {% for user in values.users %}
- {% for token in values.map %} {% endfor %} {% endfor %}
-
-
- {% endfor %}
-
-
-
-
-{% endblock %}
-{% block js %}
-
-
-
-{% endblock %}
diff --git a/templates/right_site.html b/templates/right_site.html
deleted file mode 100644
index 642741c..0000000
--- a/templates/right_site.html
+++ /dev/null
@@ -1,23 +0,0 @@
-{% if request.user.is_authenticated %}
- {% if actions %}
-
-
-
-
Последняя активность
ВСЯ ИСТОРИЯ
-
- {% for i in actions %}
-
-
-
{{ i.date }} {{ i.place }}
-
{{ i.text|safe }}
-
-
- {% endfor %}
-
-
-
-
- {% endif %}
-{% endif %}
\ No newline at end of file
diff --git a/templates/self_bill_result.html b/templates/self_bill_result.html
deleted file mode 100755
index a31d919..0000000
--- a/templates/self_bill_result.html
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
- {{ design.name }}. Оплата счета.
-
-
-
-
-
-
-
- {% block head %}
- {% endblock %}
-
-
-
-
-
-
-
-
-
-
- Оплата счета{{ sum }} руб
- {% if result %}
- Ваш платеж оплачен
- {% else %}
- Во время проведеня платежа произошла ошибка.
- Сформировать счет заново
- {% endif %}
-
-
2016 {{ design.name }}
-
-
-
-{% block content %}
-{% endblock %}
-{% block footer %}
-{% endblock %}
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/selfbill.html b/templates/selfbill.html
deleted file mode 100755
index 8c34482..0000000
--- a/templates/selfbill.html
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
- {{ NAME }}. Оплата счета.
-
-
-
-
-
-
-
- {% block head %}
- {% endblock %}
-
-
-
-
-
-
-
-
-
-
-
-{% block content %}
-{% endblock %}
-{% block footer %}
-{% endblock %}
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/simplepayresult.xml b/templates/simplepayresult.xml
deleted file mode 100755
index dc8a890..0000000
--- a/templates/simplepayresult.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- {{ salt }}
- {{ status }}
- {% if description %}
- {{ description }}
- {% endif %}
- {{ sig }}
-
\ No newline at end of file
diff --git a/templates/student_matrix.html b/templates/student_matrix.html
deleted file mode 100755
index 847929b..0000000
--- a/templates/student_matrix.html
+++ /dev/null
@@ -1,35 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Матрица прохождения{% endblock %}
-{% block content %}
-
-
-
-
-
-
- {% for key, value in students.items %}
-
- {{ value }}
-
- {% endfor %}
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/super_bill.html b/templates/super_bill.html
deleted file mode 100644
index 053ca0f..0000000
--- a/templates/super_bill.html
+++ /dev/null
@@ -1,177 +0,0 @@
-{% extends 'base_index.html' %}
-{% block head %}
-
-{% endblock %}
-{% block modals %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-{% block asside %}
-
-
-
-
-
-
-
-
-{% include 'index_menu.html' %}
-
-
-
-
-
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
- Поиск счета
-
- Поиск
-
-
-
Счет не найден
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-{% block js %}
-{% endblock %}
\ No newline at end of file
diff --git a/templates/super_history.html b/templates/super_history.html
deleted file mode 100755
index 55fd0a0..0000000
--- a/templates/super_history.html
+++ /dev/null
@@ -1,151 +0,0 @@
-{% extends 'base_index.html' %}
-{% block modals %}
- {% for i in failed %}
-
-
-
-
-
-
-
-
-
-
-
Причина
-
- {{ i.cancel_description }}
-
-
-
-
-
-
-
-
- {% endfor %}
-{% endblock %}
- {% block asside %}
-
-
-
-
-
-
-
-
-{% include 'index_menu.html' %}
-
-
-
-
-
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
-
-
- Менеджер
- Плательщик
- Телефон
- Курс
- Услуга
- Сумма
- Статус счета
- Дата
-
-
-
- {% for i in yourbills %}
-
- {{ i.manager.get_full_name }}
- {{ i.user.get_full_name }}
- {{ i.user.get_phone }}
- {{ i.service.course }}
- {{ i.service.title }}
- {{ i.price }}
- {{ i.get_status_display }}
- {{ i.date }}
-
- {% endfor %}
- {% for i in failed %}
-
- {{ i.manager.get_full_name }}
- {{ i.student.get_full_name }}
- {{ i.student.get_phone }}
- {{ i.course }}
-
-
-
- {% if i.cancel_description %}
- {{ i.get_status_display }}
- {% else %}
- {{ i.get_status_display }}
- {% endif %}
-
- {{ i.f_date }}
-
- {% endfor %}
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/super_profile.html b/templates/super_profile.html
deleted file mode 100755
index 3a2e0c0..0000000
--- a/templates/super_profile.html
+++ /dev/null
@@ -1,180 +0,0 @@
-{% extends 'base_index.html' %}
-{% block modals %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
-{% block asside %}
-
-
-
-
-
-
-
-
- {% include 'index_menu.html' %}
-
-
-
-
-
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
Пользователи системы
-
-
-
-
-
-
-
- Поиск пользователей
-
- Поиск
-
-
Отправить письмо регистрации
-
-
Результатов нет
-
-
-
- Пользователь
- Email
- Телефон
- Действие
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/super_servicerequest.html b/templates/super_servicerequest.html
deleted file mode 100755
index 9a12928..0000000
--- a/templates/super_servicerequest.html
+++ /dev/null
@@ -1,344 +0,0 @@
-{% extends 'base_index.html' %}
- {% block asside %}
-
-{% endblock %}
-{% block modals %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Поручить обработку
-
-
-
- Продавец
-
-
-
- Поручение
-
- Поручить
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Не продал
-
-
- Причина отказа
-
-
- Отправить
-
-
-
-
-
-
-
-
-
- {% for i in servicerequests %}
-
-
-
-
-
-
-
- {% if i.charge %}
-
Поручение руководителя
-
- {{ i.charge }}
-
- {% endif %}
-
-
-
-
Обработка заявки
-
-
- {{ i.student.get_phone }}
-
-
-
Студент:
-
{{ i.student.fname }} {{ i.student.name }} {{ i.student.oname }}
-
-
-
Услуга:
-
- {{ i.get_name }}
-
-
-
-
-
Город:
-
- {% if i.user.city %}
- {{ i.user.city }}
- {% else %}
- Не указан
- {% endif %}
-
-
- Выписать счет
- Не продал
-
-
-
-
-
-
-
-
-
- {% endfor %}
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
Запросы на услуги
-
-
-
-
-
-
-
-
- Плательщик
- Телефон
- Почта
- Курс
- Статус запроса
- Дата запроса
- Управление
-
-
-
-
- {% for i in servicerequests %}
-
- {{ i.student.fname }} {{ i.student.name }} {{ i.student.oname }}
- {{ i.student.get_phone }}
- {{ i.student.email }}
- {{ i.get_name }}
-
- {% if i.manager == request.user and i.status == 'W' %}
- Вы не закончили обработку
- {% else %}
- {{ i.get_status_display }}
- {% endif %}
-
-
- {{ i.date }}
-
-
- {% if not i.manager %}
- Взять в работу
- {% else %}
- {% if i.manager == request.user %}
- Продолжит работу
- {% endif %}
- {% endif %}
- Поручить продажу
-
-
-
-
- {% empty %}
-
-
-
- Запросов нет
-
-
-
- {% endfor %}
-
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/teach_profile.html b/templates/teach_profile.html
deleted file mode 100755
index 15ea184..0000000
--- a/templates/teach_profile.html
+++ /dev/null
@@ -1,253 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Кабинет преподавателя{% endblock %}
-{% block head %}
-
-{% endblock %}
- {% block asside %}
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-
-
-
-
- Материалы на проверку
- Группировка:
- По теме
- Общий список
-
-
-
-
- {% for key, value in active_themes.items %}
-
-
- {% endfor %}
-
-
-
-
-
-
-
- Не проверенные экзамены
-
-
-
-
-
-
-
-
-
-
-
-{% include 'right_site.html' %}
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/teacher_comments.html b/templates/teacher_comments.html
deleted file mode 100755
index dabfba6..0000000
--- a/templates/teacher_comments.html
+++ /dev/null
@@ -1,237 +0,0 @@
-{% extends 'base_index.html' %}
-{% block head %}
-
-{% endblock %}
- {% block asside %}
-
-
-
-
-
-
-
-
-
- {% for i in courses %}
-
- {% endfor %}
-
-
-
-
-
-
-
-{% endblock %}
-
- {% block content %}
-
-
-
- {% for i in course.get_themes %}
-
- {% endfor %}
-
- {% for i in course.get_addition_themes %}
-
- {% endfor %}
-
- {% for i in course.get_premium_themes %}
-
- {% endfor %}
-
-
-
-
-
-
-
-
-
-
Напишите свой комментарий
-
-
- {% if request.user.is_authenticated %}
-
-
- ОТПРАВКА СООБЩЕНИЯ
-
-
-
-
- ОСТАВИТЬ СООБЩЕНИЕ :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Добавить файл
-
-
-
-
-
- {% else %}
-
Для отправки сообщений, авторизуйтесь.
- {% endif %}
-
-
-
-
-{% endblock %}
-{% block js %}
-
-
-{% endblock %}
diff --git a/templates/teacher_exams.html b/templates/teacher_exams.html
deleted file mode 100755
index cf254ff..0000000
--- a/templates/teacher_exams.html
+++ /dev/null
@@ -1,116 +0,0 @@
-{% extends 'base_index.html' %}
-{% load course_filter %}
-{% block title %}Сдача экзаменов{% endblock %}
-{% block head %}
-
-{% endblock %}
- {% block asside %}
-
-
-
-
-
-
-
- {% for i in courses %}
-
-
-
-
-
-
-{% endblock %}
-
-{% block content %}
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/teacher_history.html b/templates/teacher_history.html
deleted file mode 100644
index 94c70c4..0000000
--- a/templates/teacher_history.html
+++ /dev/null
@@ -1,144 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Кабинет преподавателя{% endblock %}
-{% block head %}
-
-{% endblock %}
- {% block asside %}
-
-{% endblock %}
-
-
-
-{% block content %}
-
-
-
-{% include 'right_site.html' %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/teacher_homeworks.html b/templates/teacher_homeworks.html
deleted file mode 100755
index 5090464..0000000
--- a/templates/teacher_homeworks.html
+++ /dev/null
@@ -1,116 +0,0 @@
-{% extends 'base_index.html' %}
-{% load course_filter %}
-{% block title %}Сдача экзаменов{% endblock %}
-{% block head %}
-
-{% endblock %}
- {% block asside %}
-
-
-
-
-
-
-
- {% for i in courses %}
-
-
-
-
-
-
-{% endblock %}
-
-{% block content %}
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/teacher_materials.html b/templates/teacher_materials.html
deleted file mode 100755
index 0bf427d..0000000
--- a/templates/teacher_materials.html
+++ /dev/null
@@ -1,182 +0,0 @@
-{% extends 'base_index.html' %}
-{% block head %}
-
-{% endblock %}
- {% block asside %}
-
-
-
-
-
-
-
- {% for i in courses %}
-
-
-
-
-
-
-{% endblock %}
-
- {% block content %}
-
-
-
- {% for i in course.get_themes %}
-
- {% endfor %}
- {% for i in course.get_pred_exam_themes %}
-
- {% endfor %}
- {% for i in course.get_addition_themes %}
-
- {% endfor %}
-
- {% for i in course.get_premium_themes %}
-
- {% endfor %}
-
-
-
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/test.html b/templates/test.html
deleted file mode 100755
index 5294a10..0000000
--- a/templates/test.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- Skillbox — Трансляция Behance Portfolio Reviews Moscow
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/templates/traffic_map.html b/templates/traffic_map.html
deleted file mode 100755
index a79908f..0000000
--- a/templates/traffic_map.html
+++ /dev/null
@@ -1,61 +0,0 @@
-{% extends 'base_index.html' %}
-{% load static %}
-{% load course_filter %}
-{% block page_title %}Подписки курса {{ course }}{% endblock %}
-{% block head %}
-{% endblock %}
-{% block content %}
-
-
-
-
-
- Тарифы курса: {{ course }}
-
-
-
-
-
-
-
- ID Услуги
- {% for i in traffic %}
- {{ i.id }}
- {% endfor %}
-
-
- Тип подписки
- {% for i in traffic %}
- {{ i.get_m_type_display }}
- {% endfor %}
-
-
- Цена
- {% for i in traffic %}
- {{ i.cost }}
- {% endfor %}
-
-
- Описание
- {% for i in traffic %}
- {{ i.description }}
- {% endfor %}
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/wallet.html b/templates/wallet.html
deleted file mode 100755
index 37ab52e..0000000
--- a/templates/wallet.html
+++ /dev/null
@@ -1,110 +0,0 @@
-{% extends 'base_index.html' %}
-{% block head %}
-
-{% endblock %}
-
-
-
-
-{% block content %}
-
-
-
-
-
-
-
Доступно:
- 100000 руб.
-
-
-
- Пополнить кошелек
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/templates/workshop_exam.html b/templates/workshop_exam.html
deleted file mode 100755
index 6f65a4c..0000000
--- a/templates/workshop_exam.html
+++ /dev/null
@@ -1,202 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Сдача Экзамена{% endblock %}
-{% block head %}
-
-
-{% endblock %}
-{% block content %}
-
-
Тема №{{ theme.sort }}: {{ theme.title }}
-
-
-
-
Описание задания
-
- {{ exam.head.description|safe }}
-
-
- {% if exam.materials %}
-
-
-
- Материалы к заданию
-
- {% for i in exam.materials %}
-
- {% endfor %}
-
-
- {% endif %}
-
-
-
-
-
- ID: {{ student.id }}
-
{{ student.fname }}
- {{ student.name }}
- {{ student.oname }}
-
-
-
-
-
-
-
-
-
-
-
-
Перейти к последней попытке
-
-
-
-
- {% if exam.tries %}
-
Попыток: ({{ exam.tries|length }} ) :
- {% endif %}
-
- {% if exam.tries %}
- {% for try in exam.tries %}
-
-
-
-
-
-
-
- LMS: ~#
-
- Попытка №{{ forloop.counter }}
-
-
-
-
- {{ try.status.title }}
-
-
-
-
-
-
-
- {% for comment in try.comments %}
-
-
-
-
-
-
-
- {{ comment.owner }}
-
-
- {{ comment.date }}
-
-
-
{{ comment.text|safe }}
- {% for file in comment.files %}
-
- {% endfor %}
-
-
-
- {% endfor %}
-
- {% endfor %}
- {% endif %}
- {% if request.user.is_authenticated %}
- {% if exam.head.status.flag != 'N' and exam.head.status.flag != 'F' %}
-
-
- ОТПРАВКА КОММЕНТАРИЯ
-
-
-
-
- ОСТАВИТЬ СООБЩЕНИЕ :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Добавить файл
-
-
-
-
-
- {% endif %}
- {% else %}
-
Для работы с домашним заданием, авторизуйтесь.
- {% endif %}
-
-
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/workshop_homework.html b/templates/workshop_homework.html
deleted file mode 100755
index 36e1743..0000000
--- a/templates/workshop_homework.html
+++ /dev/null
@@ -1,210 +0,0 @@
-{% extends 'base_index.html' %}
-{% block title %}Сдача ДЗ{% endblock %}
-{% block head %}
-
-
-{% endblock %}
-{% block content %}
-
-
-
Тема №{{ theme.sort }}: {{ theme.title }}
-
-
-
-
Описание задания
-
- {{ homework.head.description|safe }}
-
-
- {% if homework.materials %}
-
-
-
- Материалы к заданию
-
- {% for i in homework.materials %}
-
- {% endfor %}
-
-
- {% endif %}
-
-
-
-
-
- ID: {{ student.id }}
-
{{ student.fname }}
- {{ student.name }}
- {{ student.oname }}
-
-
-
-
-
-
-
-
-
-
-
-
Перейти к последней попытке
-
-
-
-
- {% if homework.tries %}
-
Попыток: ({{ homework.tries|length }} ) :
- {% endif %}
-
- {% if homework.tries %}
- {% for try in homework.tries %}
-
-
-
-
-
-
-
- LMS: ~#
-
- Попытка №{{ forloop.counter }}
-
-
-
-
- {{ try.status.title }}
-
-
-
-
-
-
-
- {% for comment in try.comments %}
-
-
-
-
-
-
-
- {{ comment.owner }}
-
-
- {{ comment.date }}
-
-
-
{{ comment.text|safe }}
- {% for file in comment.files %}
-
- {% endfor %}
-
-
-
-
-
- {% endfor %}
-
- {% endfor %}
- {% endif %}
- {% if request.user.is_authenticated %}
- {% if homework.head.status.flag != 'N' and homework.head.status.flag != 'F' %}
-
-
- ОТПРАВКА КОММЕНТАРИЯ
-
-
-
-
- ОСТАВИТЬ СООБЩЕНИЕ :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Добавить файл
-
-
-
-
-
- {% endif %}
- {% else %}
-
Для работы с домашним заданием, авторизуйтесь.
- {% endif %}
-
-
-
-{% endblock %}
-{% block js %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/templates/yandexkassa_result.xml b/templates/yandexkassa_result.xml
deleted file mode 100644
index 8f57f97..0000000
--- a/templates/yandexkassa_result.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-<{{ check_type }} {% for key, value in data.items %} {% if value %}{{ key }}="{{ value }}"{% endif %}{% endfor %}/>
\ No newline at end of file
diff --git a/templates/zendesk.html b/templates/zendesk.html
deleted file mode 100755
index 483af61..0000000
--- a/templates/zendesk.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
{{delimiter}}
- {{content}}
-
-
- {{footer}} {{footer_link}}
-
-
2016 « Точка кода»
-
-
\ No newline at end of file
Курс: {{ comment.course.get_title|truncatewords:2 }} - Тема: {{ comment.theme.get_title|truncatewords:2 }} - Урок №{{ comment.lesson.sort }}: {{ comment.lesson.get_title|truncatewords:2 }} - - {% if comment.comment.response %} - Есть ответ - {% endif %} - Дата: {{ comment.comment.date }} - -