Skip to content

Commit

Permalink
Merge pull request #60 from lauf8/main
Browse files Browse the repository at this point in the history
feat: add recurring events in weeks and  days
  • Loading branch information
sajib1066 committed Oct 14, 2023
2 parents 5362520 + a502fe1 commit ef48073
Show file tree
Hide file tree
Showing 6 changed files with 237 additions and 125 deletions.
18 changes: 18 additions & 0 deletions calendarapp/migrations/0003_alter_event_title.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 3.2.21 on 2023-10-13 13:24

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('calendarapp', '0002_auto_20210717_1606'),
]

operations = [
migrations.AlterField(
model_name='event',
name='title',
field=models.CharField(max_length=200),
),
]
2 changes: 1 addition & 1 deletion calendarapp/models/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class Event(EventAbstract):
""" Event model """

user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="events")
title = models.CharField(max_length=200, unique=True)
title = models.CharField(max_length=200)
description = models.TextField()
start_time = models.DateTimeField()
end_time = models.DateTimeField()
Expand Down
2 changes: 2 additions & 0 deletions calendarapp/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
path("calender/", views.CalendarViewNew.as_view(), name="calendar"),
path("calenders/", views.CalendarView.as_view(), name="calendars"),
path('delete_event/<int:event_id>/', views.delete_event, name='delete_event'),
path('next_week/<int:event_id>/', views.next_week, name='next_week'),
path('next_day/<int:event_id>/', views.next_day, name='next_day'),
path("event/new/", views.create_event, name="event_new"),
path("event/edit/<int:pk>/", views.EventEdit.as_view(), name="event_edit"),
path("event/<int:event_id>/details/", views.event_details, name="event-detail"),
Expand Down
4 changes: 4 additions & 0 deletions calendarapp/views/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
add_eventmember,
EventMemberDeleteView,
delete_event,
next_week,
next_day,
)


Expand All @@ -22,4 +24,6 @@
add_eventmember,
EventMemberDeleteView,
delete_event,
next_week,
next_day,
]
25 changes: 25 additions & 0 deletions calendarapp/views/other_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,28 @@ def delete_event(request, event_id):
return JsonResponse({'message': 'Event sucess delete.'})
else:
return JsonResponse({'message': 'Error!'}, status=400)

def next_week(request, event_id):
event = get_object_or_404(Event, id=event_id)
if request.method == 'POST':
next = event
next.id = None
next.start_time += timedelta(days=7)
next.end_time += timedelta(days=7)
next.save()
return JsonResponse({'message': 'Sucess!'})
else:
return JsonResponse({'message': 'Error!'}, status=400)

def next_day(request, event_id):

event = get_object_or_404(Event, id=event_id)
if request.method == 'POST':
next = event
next.id = None
next.start_time += timedelta(days=1)
next.end_time += timedelta(days=1)
next.save()
return JsonResponse({'message': 'Sucess!'})
else:
return JsonResponse({'message': 'Error!'}, status=400)
Loading

0 comments on commit ef48073

Please sign in to comment.