From c7e27e1f19a7b6f5938ad1b856bd250f358c97ab Mon Sep 17 00:00:00 2001 From: Paurush Kumar Gupta Date: Wed, 8 Jul 2020 22:04:40 +0530 Subject: [PATCH 1/2] solved issue no.14 and opened a portal to recieve request for new events to organise from the end user --- events/admin.py | 3 ++- events/forms.py | 7 ++++++- events/models.py | 10 ++++++++++ events/urls.py | 3 ++- events/views.py | 25 +++++++++++++++++++++---- templates/events.html | 17 ++++++++++++++--- 6 files changed, 55 insertions(+), 10 deletions(-) diff --git a/events/admin.py b/events/admin.py index 3b8cfed..867dc6f 100644 --- a/events/admin.py +++ b/events/admin.py @@ -1,5 +1,6 @@ from django.contrib import admin -from .models import Event, EventParticipant +from .models import Event, EventParticipant, requestEvent admin.site.register(Event) admin.site.register(EventParticipant) +admin.site.register(requestEvent) diff --git a/events/forms.py b/events/forms.py index 3d91c68..7a4f0a8 100644 --- a/events/forms.py +++ b/events/forms.py @@ -1,5 +1,5 @@ from django.forms import ModelForm -from .models import EventParticipant +from .models import EventParticipant, requestEvent class ParticipantForm(ModelForm): @@ -7,3 +7,8 @@ class Meta: model = EventParticipant fields = ['title', 'student_name', 'email_id', 'mobile_number', 'roll_no', 'branch'] + +class requestEventForm(ModelForm): + class Meta: + model = requestEvent + fields = ['title', 'description', 'your_name','roll_no' ,'contact'] diff --git a/events/models.py b/events/models.py index 7b1dbef..5838126 100644 --- a/events/models.py +++ b/events/models.py @@ -53,3 +53,13 @@ class EventParticipant(TimeStampedModel): def __str__(self): return self.student_name + +class requestEvent(models.Model): + title = models.CharField(max_length=50, blank=False) + description = models.TextField(blank=False) + your_name = models.CharField(max_length=50, blank=False) + roll_no = models.CharField(max_length=15, blank=False) + contact = models.CharField(max_length=10, blank=False) + + def __str__(self): + return self.title diff --git a/events/urls.py b/events/urls.py index 4586823..8828ae6 100644 --- a/events/urls.py +++ b/events/urls.py @@ -1,7 +1,8 @@ from django.urls import path -from .views import events, register +from .views import events, register, requestEvent urlpatterns = [ path('', events, name='tech_events'), path('register/', register, name='register'), + path('requestEvent/', requestEvent, name='requestEvent'), ] diff --git a/events/views.py b/events/views.py index 5abf9ed..2770d76 100644 --- a/events/views.py +++ b/events/views.py @@ -2,14 +2,17 @@ from django.contrib import messages from django.shortcuts import render, redirect from django.views.generic import ListView -from .models import Event, EventParticipant -from .forms import ParticipantForm +from .models import Event, EventParticipant, requestEvent +from .forms import ParticipantForm, requestEventForm import csv def events(request): - events = Event.objects.all - return render(request, 'events.html', {'events': events}) + events = Event.objects.all() + #numberOfEvents = len(events) + #if (numberOfEvents) == 0: + # events = 0 + return render(request, 'events.html', {'events': events }) def register(request): @@ -45,3 +48,17 @@ def export_to_csv(request): error = "Please Enter a Valid Token" return render(request, 'download.html', {'error': error}) return render(request, 'download.html') + +def requestEvent(request): + if request.method == 'POST': + form = requestEventForm(request.POST) + if form.is_valid(): + form.save() + your_name = form.cleaned_data.get('your_name') + title = form.cleaned_data.get('title') + messages.success( + request, f'Thank you { your_name } for requesting to organise { title }, you will be contacted shortly!') + return redirect('homepage') + else: + form = requestEventForm() + return render(request, 'event_register.html', {'form': form}) diff --git a/templates/events.html b/templates/events.html index 0b44134..fed96d3 100644 --- a/templates/events.html +++ b/templates/events.html @@ -6,16 +6,27 @@

+ {% if events|length == 0 %} +
+
+

No Ongoing Events

+

Please review after sometime, to see latest ongoing Events!
THANK YOU!

+
+
+ + {% endif %} {% for event in events%}

{{ event.title }}

{{ event.description | linebreaksbr }}

- Register + Register for this Event

- {% endfor %} + {% endfor %} +
+
Request for any Event in your mind!
{% comment %} {% endcomment %} -{% endblock content %} \ No newline at end of file +{% endblock content %} From d0fe5cfae2bf44735a95885d6ac3162dab1bc448 Mon Sep 17 00:00:00 2001 From: Paurush Kumar Gupta Date: Fri, 7 Aug 2020 13:45:31 +0530 Subject: [PATCH 2/2] changes according to PEP8 conventions --- events/admin.py | 4 ++-- events/forms.py | 6 +++--- events/migrations/0008_requestevent.py | 24 ++++++++++++++++++++++++ events/models.py | 3 ++- events/urls.py | 4 ++-- events/views.py | 13 +++++-------- templates/event_register.html | 2 +- templates/events.html | 2 +- 8 files changed, 40 insertions(+), 18 deletions(-) create mode 100644 events/migrations/0008_requestevent.py diff --git a/events/admin.py b/events/admin.py index 867dc6f..4845bfd 100644 --- a/events/admin.py +++ b/events/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin -from .models import Event, EventParticipant, requestEvent +from .models import Event, EventParticipant, RequestEvent admin.site.register(Event) admin.site.register(EventParticipant) -admin.site.register(requestEvent) +admin.site.register(RequestEvent) diff --git a/events/forms.py b/events/forms.py index 7a4f0a8..62f7b9d 100644 --- a/events/forms.py +++ b/events/forms.py @@ -1,5 +1,5 @@ from django.forms import ModelForm -from .models import EventParticipant, requestEvent +from .models import EventParticipant, RequestEvent class ParticipantForm(ModelForm): @@ -8,7 +8,7 @@ class Meta: fields = ['title', 'student_name', 'email_id', 'mobile_number', 'roll_no', 'branch'] -class requestEventForm(ModelForm): +class RequestEventForm(ModelForm): class Meta: - model = requestEvent + model = RequestEvent fields = ['title', 'description', 'your_name','roll_no' ,'contact'] diff --git a/events/migrations/0008_requestevent.py b/events/migrations/0008_requestevent.py new file mode 100644 index 0000000..e87f49f --- /dev/null +++ b/events/migrations/0008_requestevent.py @@ -0,0 +1,24 @@ +# Generated by Django 2.2.9 on 2020-08-07 07:54 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0007_auto_20190924_1641'), + ] + + operations = [ + migrations.CreateModel( + name='RequestEvent', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=50)), + ('description', models.TextField()), + ('your_name', models.CharField(max_length=50)), + ('roll_no', models.CharField(max_length=15)), + ('contact', models.CharField(max_length=10)), + ], + ), + ] diff --git a/events/models.py b/events/models.py index 5838126..e593590 100644 --- a/events/models.py +++ b/events/models.py @@ -54,7 +54,8 @@ class EventParticipant(TimeStampedModel): def __str__(self): return self.student_name -class requestEvent(models.Model): + +class RequestEvent(models.Model): title = models.CharField(max_length=50, blank=False) description = models.TextField(blank=False) your_name = models.CharField(max_length=50, blank=False) diff --git a/events/urls.py b/events/urls.py index 8828ae6..7888de9 100644 --- a/events/urls.py +++ b/events/urls.py @@ -1,8 +1,8 @@ from django.urls import path -from .views import events, register, requestEvent +from .views import events, register, request_event urlpatterns = [ path('', events, name='tech_events'), path('register/', register, name='register'), - path('requestEvent/', requestEvent, name='requestEvent'), + path('request_event/', request_event, name='request_event'), ] diff --git a/events/views.py b/events/views.py index 2770d76..5c4bb3d 100644 --- a/events/views.py +++ b/events/views.py @@ -2,16 +2,13 @@ from django.contrib import messages from django.shortcuts import render, redirect from django.views.generic import ListView -from .models import Event, EventParticipant, requestEvent -from .forms import ParticipantForm, requestEventForm +from .models import Event, EventParticipant, RequestEvent +from .forms import ParticipantForm, RequestEventForm import csv def events(request): events = Event.objects.all() - #numberOfEvents = len(events) - #if (numberOfEvents) == 0: - # events = 0 return render(request, 'events.html', {'events': events }) @@ -49,9 +46,9 @@ def export_to_csv(request): return render(request, 'download.html', {'error': error}) return render(request, 'download.html') -def requestEvent(request): +def request_event(request): if request.method == 'POST': - form = requestEventForm(request.POST) + form = RequestEventForm(request.POST) if form.is_valid(): form.save() your_name = form.cleaned_data.get('your_name') @@ -60,5 +57,5 @@ def requestEvent(request): request, f'Thank you { your_name } for requesting to organise { title }, you will be contacted shortly!') return redirect('homepage') else: - form = requestEventForm() + form = RequestEventForm() return render(request, 'event_register.html', {'form': form}) diff --git a/templates/event_register.html b/templates/event_register.html index 3a350cf..84b10e4 100644 --- a/templates/event_register.html +++ b/templates/event_register.html @@ -8,7 +8,7 @@

-

Register

+

Request An Event

{% csrf_token %} {% bootstrap_form form %} {% buttons %} diff --git a/templates/events.html b/templates/events.html index fed96d3..a291de1 100644 --- a/templates/events.html +++ b/templates/events.html @@ -26,7 +26,7 @@

{{ event.title }}


{% endfor %}
-
Request for any Event in your mind!
+
Request for any Event in your mind!
{% comment %} {% endcomment %} {% endblock content %}