Ejemplo n.º 1
0
    def get(self, request, event_id):
        user = request.user
        event = get_event_by_id(event_id)
        person = get_person_by_user(user) if user.pk else None
        is_registered = get_if_person_is_registered(person, event)
        is_favorite = get_if_event_is_fav(person, event)
        favorite = None
        inscrit = None
        if is_favorite:
            favorite = FavoriteEvent.objects.get(person=person, event=event) if user.pk else None
        if is_registered:
            inscrit = InscriptionEvent.objects.get(person=person, event=event) if user.pk else None

        events_caroussel = Event.objects.filter(category=event.category, event_date__gte=timezone.now()).exclude(pk=event_id)
        context = {
            'user': user,
            'person': person,
            'event': event,
            'is_registered': is_registered,
            'is_favorite': is_favorite,
            'favorite': favorite,
            'inscrit': inscrit,
            'events_caroussel' : events_caroussel,
            'navigation_items': navigation.navigation_items(navigation.NAV_EVENEMENT),
        }
        return render(request, 'events/event_detail.html', context)
Ejemplo n.º 2
0
 def get(self, request, event_id, *args, **kwargs):
     user = request.user
     person = get_person_by_user(user)
     event = get_event_by_id(event_id)
     favorite = FavoriteEvent(person=person, event=event)
     favorite.save()
     return redirect(reverse('description-event', kwargs={'event_id': event.pk}))
Ejemplo n.º 3
0
 def get(self, request, event_id, *args, **kwargs):
     user = request.user
     person = get_person_by_user(user)
     event = get_event_by_id(event_id)
     is_registered = get_if_person_is_registered(person, event)
     if not is_registered or person != event.person:
         inscription = InscriptionEvent(person=person, event=event)
         inscription.save()
     return redirect(reverse('description-event', kwargs={'event_id': event.pk}))
Ejemplo n.º 4
0
 def get(self, request):
     user = request.user
     person = get_person_by_user(user)
     form = EventForm()
     context = {
         'user': user,
         'person': person,
         'form': form,
         'navigation_items': navigation.navigation_items(navigation.NAV_EVENEMENT),
     }
     return render(request, 'events/event_new.html', context)
Ejemplo n.º 5
0
 def get(self, request):
     user = request.user
     events = get_events_by_user(user)
     person = get_person_by_user(user)
     context = {
         'user': user,
         'events': events,
         'person': person,
         'navigation_items': navigation.navigation_items(navigation.NAV_HOME),
     }
     return render(request, 'persons/events/my_events_details.html', context)
Ejemplo n.º 6
0
 def get(self, request):
     user = request.user
     person = get_person_by_user(user)
     today = datetime.now()
     favorite_events = get_favorite_event_person(person).filter(event__event_date__gt=today)
     context = {
         'user': user,
         'person': person,
         'favorite_events': favorite_events,
         'navigation_items': navigation.navigation_items(navigation.NAV_HOME),
     }
     return render(request, 'persons/events/my_favorite_events.html', context)
Ejemplo n.º 7
0
 def get(self, request, event_id):
     user = request.user
     person = get_person_by_user(user)
     event = get_event_by_id(event_id)
     form = EventForm(instance=event)
     context = {
         'person': person,
         'form': form,
         'event': event,
         'navigation_items': navigation.navigation_items(navigation.NAV_EVENEMENT),
     }
     return render(request, 'persons/events/my_events_form.html', context)
Ejemplo n.º 8
0
    def get(self, request):
        user = request.user
        # if user.pk:
        query = self.request.GET.get('q')
        person = get_person_by_user(user) if user.pk else None
        api_request = requests.get(f"https://api-adresse.data.gouv.fr/search/?q={person.address}&postcode={person.zip_code}&city={person.city}&autocomplete=0&limit=1") if user.pk else None
        reponse = api_request.json() if user.pk else None
        coordonate_x = reponse['features'][0]['geometry']['coordinates'][1] if user.pk else 48.866667
        coordonate_y = reponse['features'][0]['geometry']['coordinates'][0] if user.pk else 2.333333
        category_filter = request.GET.get('category_filter', ALL_CATEGORIES)
        lieu_filter = request.GET.get('lieu')

        if query is not None:
            events_search = Event.objects.filter(Q(title__icontains=query) | Q(category__icontains=query)).filter(
                event_date__gte=timezone.now())
            filtered_events = get_filtered_events(events_search, category_filter, lieu_filter)
            category = get_events_categories(events_search)
        elif lieu_filter is not None:
            events = Event.objects.filter(city=lieu_filter.upper(), event_date__gte=timezone.now())
            filtered_events = get_filtered_events(events, category_filter, lieu_filter.upper())
            category = get_events_categories(events)
            api_request = requests.get(f"https://api-adresse.data.gouv.fr/search/?q={lieu_filter.upper()}&autocomplete=0&limit=1")
            reponse = api_request.json()
            coordonate_x = reponse['features'][0]['geometry']['coordinates'][1] if reponse['features'] is [] else 48.866667
            coordonate_y = reponse['features'][0]['geometry']['coordinates'][0] if reponse['features'] is [] else 2.333333
        else:
            events = get_all_events()
            filtered_events = get_filtered_events(events, category_filter, lieu_filter)
            category = get_events_categories(events)
        order_filter = request.GET.get('order_filter', 'event_date')
        if order_filter == 'event_date':
            filtered_events = filtered_events.order_by('event_date')
        else:
            filtered_events = filtered_events.order_by('-event_date')

        context = {
            'user': user,
            'person': person,
            'filtered_events': filtered_events,
            'category': category,
            'lieu_filter': lieu_filter,
            'order_filter': order_filter,
            'category_filter': category_filter,
            'query': query,
            'navigation_items': navigation.navigation_items(navigation.NAV_EVENEMENT),
            'coordonate_x': str(coordonate_x).replace(",", "."),
            'coordonate_y': str(coordonate_y).replace(",", ".")
        }
        return render(request, 'events/event_list.html', context)
Ejemplo n.º 9
0
    def get(self, request):
        user = request.user
        person = get_person_by_user(user)
        today = datetime.now()
        inscription_events = get_inscription_event_person(person).filter(event__event_date__lt=today)
        form = KarmaForm()

        context = {
            'user': user,
            'person': person,
            'form': form,
            'inscription_events': inscription_events,
            'navigation_items': navigation.navigation_items(navigation.NAV_HOME),
        }
        return render(request, 'persons/events/my_finished_events.html', context)
Ejemplo n.º 10
0
    def post(self, request, event_id):
        user = request.user
        person = get_person_by_user(user)
        event = get_event_by_id(event_id)
        form = EventForm(instance=event, data=request.POST)
        if form.is_valid():
            event = form.save(commit=False)
            event.person = person
            event.created_at = datetime.now()
            event.save()
            return redirect(reverse('profil-events'))
        else:
            form = EventForm(instance=event)
            context = {
                'person': person,
                'form': form,
                'navigation_items': navigation.navigation_items(navigation.NAV_EVENEMENT),

            }
            return render(request, 'persons/events/my_events_form.html', context)
Ejemplo n.º 11
0
    def post(self, request):
        user = request.user
        person = get_person_by_user(user)
        form = EventForm(request.POST)
        print(form.errors)
        if form.is_valid():
            event = form.save(commit=False)
            event.person = person
            event.created_at = datetime.now()

            event.save()
            return redirect(reverse('events'))
        else:
            form = EventForm()
            context = {
                'user': user,
                'person': person,
                'form': form,
                'navigation_items': navigation.navigation_items(navigation.NAV_EVENEMENT),
            }
            return render(request, 'events/event_new.html', context)
Ejemplo n.º 12
0
 def get(self, request, event_id, *args, **kwargs):
     try:
         user = request.user
         person = get_person_by_user(user)
         event = get_event_by_id(event_id)
         person_event = get_person_by_id(event.person.pk)
         form = KarmaForm(data=request.POST)
         rating = request.GET.get('rating', 5)
         if form.is_valid():
             karma = form.save(commit=False)
             karma.event = event
             karma.note = rating
             karma.person = person
             karma.save()
             note = Karma.objects.filter(event__person=event.person).aggregate(Avg('note'))
             person_event.note = note['note__avg']
             person_event.save()
             return redirect(reverse('profil-finished-events'))
         else:
             return redirect(reverse('events'))
     except Event.DoesNotExist:
         raise Http404()