appel aux méthodes de classes résolu par import local
This commit is contained in:
		@@ -33,24 +33,11 @@ from django_resized import ResizedImageField
 | 
			
		||||
from icalendar import Calendar as icalCal
 | 
			
		||||
from icalendar import Event as icalEvent
 | 
			
		||||
 | 
			
		||||
# from ..models.place import Place
 | 
			
		||||
# from ..models.category import CategorisationRule, Category
 | 
			
		||||
# from ..models.message import Message
 | 
			
		||||
# from ..models.imports import RecurrentImport
 | 
			
		||||
from ..models.utils import remove_accents
 | 
			
		||||
from ..models.configuration import SiteConfiguration
 | 
			
		||||
 | 
			
		||||
# from ..models.tag import Tag
 | 
			
		||||
from ..calendar import CalendarDay
 | 
			
		||||
from ..import_tasks.extractor import Extractor
 | 
			
		||||
 | 
			
		||||
Category = None
 | 
			
		||||
CategorisationRule = None
 | 
			
		||||
Place = None
 | 
			
		||||
Tag = None
 | 
			
		||||
Message = None
 | 
			
		||||
RecurrentImport = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
logger = logging.getLogger(__name__)
 | 
			
		||||
 | 
			
		||||
@@ -187,6 +174,8 @@ class DuplicatedEvents(models.Model):
 | 
			
		||||
        super().save(*args, **kwargs)
 | 
			
		||||
 | 
			
		||||
    def get_import_messages(self):
 | 
			
		||||
        from . import Message
 | 
			
		||||
 | 
			
		||||
        msgs = []
 | 
			
		||||
        for e in self.get_duplicated():
 | 
			
		||||
            for m in e.message_set.filter(
 | 
			
		||||
@@ -415,6 +404,8 @@ class Event(models.Model):
 | 
			
		||||
        self._messages = []
 | 
			
		||||
 | 
			
		||||
    def get_import_messages(self):
 | 
			
		||||
        from . import Message
 | 
			
		||||
 | 
			
		||||
        return self.message_set.filter(
 | 
			
		||||
            message_type__in=[
 | 
			
		||||
                Message.TYPE.IMPORT_PROCESS,
 | 
			
		||||
@@ -501,6 +492,8 @@ class Event(models.Model):
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def in_recurrent_import(self):
 | 
			
		||||
        from . import RecurrentImport
 | 
			
		||||
 | 
			
		||||
        if self.import_sources:
 | 
			
		||||
            for s in self.import_sources:
 | 
			
		||||
                o_s = RecurrentImport.objects.filter(source=s).count()
 | 
			
		||||
@@ -509,6 +502,8 @@ class Event(models.Model):
 | 
			
		||||
        return False
 | 
			
		||||
 | 
			
		||||
    def get_import_sources(self):
 | 
			
		||||
        from . import RecurrentImport
 | 
			
		||||
 | 
			
		||||
        if self.import_sources:
 | 
			
		||||
            result = []
 | 
			
		||||
            for s in self.import_sources:
 | 
			
		||||
@@ -741,6 +736,8 @@ class Event(models.Model):
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
    def tag_messages(self):
 | 
			
		||||
        from ..models.tag import Tag
 | 
			
		||||
 | 
			
		||||
        if self.tags is None:
 | 
			
		||||
            return []
 | 
			
		||||
        return Tag.objects.filter(
 | 
			
		||||
@@ -1143,8 +1140,10 @@ class Event(models.Model):
 | 
			
		||||
                    self.recurrence_dtend = self.recurrence_dtstart
 | 
			
		||||
 | 
			
		||||
    def prepare_save(self):
 | 
			
		||||
        self.update_modification_dates()
 | 
			
		||||
        from ..models.place import Place
 | 
			
		||||
        from ..models.category import Category, CategorisationRule
 | 
			
		||||
 | 
			
		||||
        self.update_modification_dates()
 | 
			
		||||
        self.update_recurrence_dtstartend()
 | 
			
		||||
 | 
			
		||||
        # clear cache
 | 
			
		||||
@@ -1177,6 +1176,8 @@ class Event(models.Model):
 | 
			
		||||
                CategorisationRule.apply_rules(self)
 | 
			
		||||
 | 
			
		||||
    def get_contributor_message(self):
 | 
			
		||||
        from . import Message
 | 
			
		||||
 | 
			
		||||
        types = [
 | 
			
		||||
            Message.TYPE.FROM_CONTRIBUTOR,
 | 
			
		||||
            Message.TYPE.FROM_CONTRIBUTOR_NO_MSG,
 | 
			
		||||
@@ -1721,6 +1722,8 @@ class Event(models.Model):
 | 
			
		||||
        return cal
 | 
			
		||||
 | 
			
		||||
    def get_count_modification(when):
 | 
			
		||||
        from . import RecurrentImport
 | 
			
		||||
 | 
			
		||||
        start = datetime(when[0].year, when[0].month, when[0].day)
 | 
			
		||||
        end = start + timedelta(days=when[1])
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,12 +4,6 @@ from django.utils.translation import gettext_lazy as _
 | 
			
		||||
from django_better_admin_arrayfield.models.fields import ArrayField
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# from ..models.event import Event
 | 
			
		||||
Event = None
 | 
			
		||||
# from ..models.organisation import Organisation
 | 
			
		||||
Organisation = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RecurrentImport(models.Model):
 | 
			
		||||
    class Meta:
 | 
			
		||||
        verbose_name = _("Recurrent import")
 | 
			
		||||
@@ -154,6 +148,8 @@ class RecurrentImport(models.Model):
 | 
			
		||||
        return BatchImportation.objects.filter(recurrentImport=self).count()
 | 
			
		||||
 | 
			
		||||
    def nb_events(self):
 | 
			
		||||
        from ..models.event import Event
 | 
			
		||||
 | 
			
		||||
        return Event.objects.filter(import_sources__contains=[self.source]).count()
 | 
			
		||||
 | 
			
		||||
    def get_absolute_url(self):
 | 
			
		||||
 
 | 
			
		||||
@@ -5,9 +5,6 @@ from django.urls import reverse
 | 
			
		||||
from django.utils.translation import gettext_lazy as _
 | 
			
		||||
from django_ckeditor_5.fields import CKEditor5Field
 | 
			
		||||
 | 
			
		||||
# from ..models.event import Event
 | 
			
		||||
Event = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Message(models.Model):
 | 
			
		||||
    class TYPE(models.TextChoices):
 | 
			
		||||
 
 | 
			
		||||
@@ -10,9 +10,6 @@ from django_ckeditor_5.fields import CKEditor5Field
 | 
			
		||||
from django_extensions.db.fields import AutoSlugField
 | 
			
		||||
from location_field.models.spatial import LocationField
 | 
			
		||||
 | 
			
		||||
# from ..models.event import Event
 | 
			
		||||
Event = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Place(models.Model):
 | 
			
		||||
    name = models.CharField(verbose_name=_("Name"), help_text=_("Name of the place"))
 | 
			
		||||
@@ -77,9 +74,13 @@ class Place(models.Model):
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def nb_events(self):
 | 
			
		||||
        from ..models.event import Event
 | 
			
		||||
 | 
			
		||||
        return Event.objects.filter(exact_location=self).count()
 | 
			
		||||
 | 
			
		||||
    def nb_events_future(self):
 | 
			
		||||
        from ..models.event import Event
 | 
			
		||||
 | 
			
		||||
        return (
 | 
			
		||||
            Event.objects.filter(start_day__gte=datetime.now())
 | 
			
		||||
            .filter(exact_location=self)
 | 
			
		||||
@@ -93,6 +94,8 @@ class Place(models.Model):
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
    def associate_matching_events(self):
 | 
			
		||||
        from ..models.event import Event
 | 
			
		||||
 | 
			
		||||
        u_events = Event.objects.filter(exact_location__isnull=True)
 | 
			
		||||
 | 
			
		||||
        to_be_updated = []
 | 
			
		||||
 
 | 
			
		||||
@@ -8,11 +8,8 @@ from django.urls import reverse
 | 
			
		||||
from django.utils.translation import gettext_lazy as _
 | 
			
		||||
from django_ckeditor_5.fields import CKEditor5Field
 | 
			
		||||
 | 
			
		||||
# from ..models.event import Event
 | 
			
		||||
from ..models.utils import no_slash_validator, remove_accents
 | 
			
		||||
 | 
			
		||||
Event = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Tag(models.Model):
 | 
			
		||||
    name = models.CharField(
 | 
			
		||||
@@ -93,6 +90,8 @@ class Tag(models.Model):
 | 
			
		||||
        result = cache.get(id_cache)
 | 
			
		||||
 | 
			
		||||
        if not result:
 | 
			
		||||
            from ..models.event import Event
 | 
			
		||||
 | 
			
		||||
            free_tags = Event.get_all_tags(False)
 | 
			
		||||
            f_tags = [t["tag"] for t in free_tags]
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user