diff --git a/faerun_calendar/static/faerun_calendar/css/main.css b/faerun_calendar/static/faerun_calendar/css/main.css index ad836ba..9f979c4 100644 --- a/faerun_calendar/static/faerun_calendar/css/main.css +++ b/faerun_calendar/static/faerun_calendar/css/main.css @@ -5,6 +5,10 @@ div.calendarpage { border-radius: 20px; } +div.calendarpage h2 { + text-align: center; +} + div.current-year { display: flex; justify-content: space-between; diff --git a/faerun_calendar/templates/faerun_calendar/index.html b/faerun_calendar/templates/faerun_calendar/index.html index 2fade66..3b793b5 100644 --- a/faerun_calendar/templates/faerun_calendar/index.html +++ b/faerun_calendar/templates/faerun_calendar/index.html @@ -41,8 +41,24 @@ {% elif type == 'day' %}
Событий нет
@@ -66,6 +82,8 @@ {% elif type == 'error' %}Неверный год
diff --git a/faerun_calendar/views.py b/faerun_calendar/views.py index 7e34a75..92804eb 100644 --- a/faerun_calendar/views.py +++ b/faerun_calendar/views.py @@ -68,14 +68,64 @@ def day_page(request, year: int, month: int, day: int): if is_oneday and day != 1 or not 1 <= day <= 30: params = {'type': 'error', 'error_type': 'day'} + if not params: + try: + previous_day = {'year': year, 'month': month, 'day': day-1} + + if previous_day['day'] <= 0: + previous_day['month'] -= 1 + + if previous_day['month'] <= 0: + try: + previous_day['year'] = getattr(getattr(year_data, 'previous_year'), 'number') + except (AttributeError, YearData.DoesNotExist): + previous_day['year'] = None + + if not previous_day['year']: + previous_day = None + else: + previous_month = MonthData.objects.last() + previous_day['month'] = getattr(previous_month, 'number') + previous_day['day'] = 1 if getattr(previous_month, 'is_oneday') else 30 + else: + previous_month = MonthData.objects.get(number=previous_day['month']) + previous_day['day'] = 1 if getattr(previous_month, 'is_oneday') else 30 + + next_day = {'year': year, 'month': month, 'day': day + 1} + + if next_day['day'] > (1 if is_oneday else 30): + next_day['day'] = 1 + next_day['month'] += 1 + + try: + is_month_exist = MonthData.objects.get(number=next_day['month']) + except MonthData.DoesNotExist: + is_month_exist = False + if not is_month_exist: + next_day['month'] = 1 + + try: + next_day['year'] = getattr(getattr(year_data, 'next_year'), 'number') + except (AttributeError, YearData.DoesNotExist): + next_day['year'] = None + + if not next_day['year']: + next_day = None + + except AttributeError: + params = {'type': 'error', 'error_type': 'month'} + print(6) + if not params: params = { 'type': 'day', - 'root': '', + 'root': '../../../', 'year_data': year_data, 'month_data': month_data, 'day': day, 'events': events, + 'previous_day': previous_day, + 'next_day': next_day, } return render(request, 'faerun_calendar/index.html', params) diff --git a/main/static/main/css/main.css b/main/static/main/css/main.css index 3ee6342..262df46 100644 --- a/main/static/main/css/main.css +++ b/main/static/main/css/main.css @@ -147,6 +147,7 @@ body > div > * { } .arrow[disabled] { + margin: 3px 0px; color: #dcdcdc; }