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)
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}))
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}))
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)
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)
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)
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)
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)
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)
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)
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)
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()