From: Yoan Le Clanche Date: Wed, 12 Jan 2022 10:27:20 +0000 (+0100) Subject: Fix imports X-Git-Tag: 2.8.1-pro~134 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=d5ec35735e79d5d03179df8dce94c635e07b20b5;p=teleforma.git Fix imports --- diff --git a/teleforma/forms.py b/teleforma/forms.py index fe75147e..ca546c65 100644 --- a/teleforma/forms.py +++ b/teleforma/forms.py @@ -1,8 +1,9 @@ from django.forms import ModelForm, HiddenInput -from teleforma.models import * from django.forms import ModelForm from django.utils.translation import gettext_lazy as _ +from teleforma.models.core import Conference +from teleforma.models.pro import Answer, Question from teleforma.models.profile import UserProfile diff --git a/teleforma/models/ae.py b/teleforma/models/ae.py index df993a92..32582521 100644 --- a/teleforma/models/ae.py +++ b/teleforma/models/ae.py @@ -34,22 +34,29 @@ # Author: Guillaume Pellerin """ +from django.contrib.auth.models import User import django.db.models as models +from django.db.models.base import Model +from django.db.models.fields import BooleanField +from django.db.models.fields.related import ForeignKey, ManyToManyField from django.utils.translation import gettext_lazy as _ -from teleforma.models.core import * +from teleforma.models.core import MetaCore + +from .core import app_label class AEStudent(Model): - user = ForeignKey(User, related_name='ae_student', verbose_name=_('user'), unique=True, on_delete=models.CASCADE) - period = ManyToManyField('Period', related_name='ae_student', verbose_name=_('period'), - blank=True) - platform_only = BooleanField(_('platform only')) - courses = ManyToManyField('Course', related_name="ae_student", - verbose_name=_('courses'), - blank=True) - + user = ForeignKey(User, related_name='ae_student', verbose_name=_( + 'user'), unique=True, on_delete=models.CASCADE) + period = ManyToManyField('Period', related_name='ae_student', verbose_name=_('period'), + blank=True) + platform_only = BooleanField(_('platform only')) + courses = ManyToManyField('Course', related_name="ae_student", + verbose_name=_('courses'), + blank=True) + def __str__(self): try: return self.user.last_name + ' ' + self.user.first_name @@ -60,4 +67,4 @@ class AEStudent(Model): db_table = app_label + '_' + 'ae_student' verbose_name = _('AE student') verbose_name_plural = _('AE students') - ordering = ['user__last_name'] \ No newline at end of file + ordering = ['user__last_name'] diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 99f05e59..d944c3fc 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -43,7 +43,6 @@ from unidecode import unidecode from django.conf import settings from django.db.models import * -from teleforma.fields import * import django.db.models as models from django.utils.translation import gettext_lazy as _ from django.utils.functional import cached_property @@ -65,6 +64,7 @@ from django.dispatch import receiver from jxmlease import XMLListNode, XMLDictNode from teleforma.bbb_utils import bbb, register_web_hook +from teleforma.fields import Duration, ShortTextField HAS_TELEMETA = False try: diff --git a/teleforma/models/pro.py b/teleforma/models/pro.py index 32a2e0ef..7132fa2e 100644 --- a/teleforma/models/pro.py +++ b/teleforma/models/pro.py @@ -34,15 +34,21 @@ # Author: Guillaume Pellerin """ +import datetime import os from django.conf import settings +from django.contrib.auth.models import User import django.db.models as models +from django.db.models.fields.related import ForeignKey +from django.urls.base import reverse from django.utils.translation import gettext_lazy as _ -from teleforma.models.core import * +from mezzanine.core.models import Displayable +from teleforma.fields import DurationField +from teleforma.models.core import GENDER_CHOICES, STATUS_CHOICES, WEIGHT_CHOICES, ClonableMixin, Conference, Course, Document, Media, MetaCore, Organization, Period, ProductCodeMixin, SuggestionsMixin, app_label from forms_builder.forms.models import Form from mezzanine.core.managers import DisplayableManager from quiz.models import Quiz - +import tinymce class SeminarType(models.Model): name = models.CharField(_('name'), max_length=255, blank=True) diff --git a/teleforma/views/ae.py b/teleforma/views/ae.py index 80303d7a..e5dba088 100644 --- a/teleforma/views/ae.py +++ b/teleforma/views/ae.py @@ -33,7 +33,7 @@ # Authors: Guillaume Pellerin -from teleforma.views.core import * +from ..models.core import Course def format_ae_courses(courses, course=None, queryset=None, types=None, admin=False): diff --git a/teleforma/views/core.py b/teleforma/views/core.py index c5f61e23..46d04db5 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -33,36 +33,40 @@ # Authors: Guillaume Pellerin import datetime -import io -import json -import mimetypes +from datetime import timedelta import os +import mimetypes import random -import urllib.error -import urllib.parse -import urllib.request -from datetime import timedelta from django.conf import settings from django.contrib import messages from django.contrib.auth.decorators import login_required, permission_required from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType -from django.http import Http404, HttpResponse +from django.http.response import Http404, HttpResponse from django.shortcuts import redirect -from django.urls import resolve, reverse +from django.urls import reverse +from django.urls.base import resolve from django.utils.decorators import method_decorator -from django.utils.translation import gettext_lazy as _ -from django.views.generic import * -from django.views.generic.base import * +from django.utils.translation import ugettext_lazy as _ +from django.views.generic.base import TemplateView, View +from django.views.generic.detail import DetailView from django.views.generic.edit import FormView +from django.views.generic.list import ListView + from jsonrpc import jsonrpc_method from jsonrpc.proxy import ServiceProxy -from teleforma.context_processors import * -from teleforma.forms import * -from teleforma.models import * +from notes.models import Note +from django.contrib.sites.models import Site + +from teleforma.context_processors import all_conferences, all_seminars +from teleforma.forms import ConferenceForm -from . import pages +from ..models.core import (Conference, Course, CourseType, Department, + Document, DocumentType, Media, MediaTranscoded, + Organization, Period, Professor, Room, + StreamingServer, LiveStream) +from .pages import get_page_content try: from telecaster.models import * @@ -70,8 +74,6 @@ try: except: pass -from postman.models import * -from postman.utils import email_visitor, notify_user access_error = _('Access not allowed.') contact_message = _('Please login or contact the website administator to get a private access.') @@ -107,17 +109,6 @@ def stream_from_file(__file): yield __chunk -def get_room(content_type=None, id=None, name=None): - rooms = jqchat.models.Room.objects.filter(content_type=content_type, - object_id=id) - if not rooms: - room = jqchat.models.Room.objects.create(content_type=content_type, - object_id=id, - name=name[:20]) - else: - room = rooms[0] - return room - def get_course_access(obj, courses): access = False @@ -180,7 +171,6 @@ def get_periods(user): return periods - class CourseAccessMixin(object): def render_to_response(self, context): @@ -318,27 +308,8 @@ class MediaView(DetailView): def dispatch(self, *args, **kwargs): return super(MediaView, self).dispatch(*args, **kwargs) - def download(self, request, pk): - courses = get_courses(request.user) - media = Media.objects.get(id=pk) - if get_course_access(media, courses): - path = media.item.file.path - filename, ext = os.path.splitext(path) - filename = filename.split(os.sep)[-1] - fsock = open(media.item.file.path, 'r') - view = ItemView() - mimetype = view.item_analyze(media.item) - extension = mimetypes.guess_extension(mimetype) - if not extension: - extension = ext - response = HttpResponse(fsock, mimetype=mimetype) - - response['Content-Disposition'] = "attachment; filename=%s%s" % \ - (filename.encode('utf8'), extension) - return response - else: - return redirect('teleforma-media-detail', media.id) - + def download(self, request, period_id, pk): + return self.stream(request, period_id, pk, streaming=False) @jsonrpc_method('teleforma.publish_media') def publish(request, id): @@ -747,7 +718,7 @@ class HelpView(TemplateView): def get_context_data(self, **kwargs): context = super(HelpView, self).get_context_data(**kwargs) - context['page_content'] = pages.get_page_content(self.request, 'help', + context['page_content'] = get_page_content(self.request, 'help', ignore_slash_issue=True) return context