From 1c9d13883ec9898a82a0f28568367e8e0463b542 Mon Sep 17 00:00:00 2001 From: Jens Timmerman Date: Thu, 5 Aug 2021 23:41:15 +0200 Subject: [PATCH] refetich without reloading --- nmgfitness/base.html | 3 ++- nmgfitness/calendar.html | 16 +++------------- nmgfitness/urls.py | 3 ++- nmgfitness/views.py | 16 ++++++++++++++++ 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/nmgfitness/base.html b/nmgfitness/base.html index dbbf658..fc5470b 100644 --- a/nmgfitness/base.html +++ b/nmgfitness/base.html @@ -5,7 +5,8 @@ - + NMG Fitness Registration diff --git a/nmgfitness/calendar.html b/nmgfitness/calendar.html index ef1a164..cb31a0a 100644 --- a/nmgfitness/calendar.html +++ b/nmgfitness/calendar.html @@ -30,17 +30,7 @@ center: 'title', right: 'month,agendaWeek,agendaDay' }, - events: [ - {% for event in events %} - { - title: "{{ event.name}}", - start: '{{ event.start|date:"Y-m-d H:i" }}', - end: '{{ event.end|date:"Y-m-d H:i" }}', - id: '{{ event.id }}', - backgroundColor: mycolor('{{ event.name }}'), - }, - {% endfor %} - ], + events: '/all_events', selectable: true, selectHelper: true, editable: true, @@ -54,7 +44,7 @@ data: {'title': '{{ user }}', 'start': start, 'end': end}, dataType: "json", success: function (data) { - location.reload(); + calendar.fullCalendar('refetchEvents'); }, failure: function (data) { alert('There is a problem!!!'); @@ -113,7 +103,7 @@ dataType: "json", success: function (data) { //alert('Event Removed'); - location.reload(); + calendar.fullCalendar('refetchEvents'); }, failure: function (data) { alert('There is a problem!!!'); diff --git a/nmgfitness/urls.py b/nmgfitness/urls.py index b5278ce..b4485cc 100644 --- a/nmgfitness/urls.py +++ b/nmgfitness/urls.py @@ -20,7 +20,7 @@ from django.conf.urls import url from users.views import register -from .views import calendar, add_event, update, remove +from .views import calendar, add_event, update, remove, all_events urlpatterns = [ path('accounts/', include('django.contrib.auth.urls')), @@ -30,5 +30,6 @@ urlpatterns = [ url('^add_event$', add_event, name='add_event'), url('^update$', update, name='update'), url('^remove', remove, name='remove'), + url('^all_events', all_events, name='all_events'), ] diff --git a/nmgfitness/views.py b/nmgfitness/views.py index f1fcde5..21ab04d 100644 --- a/nmgfitness/views.py +++ b/nmgfitness/views.py @@ -1,3 +1,4 @@ + from .models import Events from django.shortcuts import render @@ -15,6 +16,21 @@ def calendar(request): return render(request, 'calendar.html', context) +@login_required +def all_events(request): + all_events = Events.objects.all() + out = [] + for event in all_events: + out.append({ + 'title': event.name, + 'id': event.id, + 'start': event.start.strftime("%m/%d/%Y, %H:%M:%S"), + 'end': event.end.strftime("%m/%d/%Y, %H:%M:%S"), + }) + + return JsonResponse(out, safe=False) + + @login_required def add_event(request): start = request.GET.get("start", None)