Skip to content

Commit

Permalink
Fix select disable
Browse files Browse the repository at this point in the history
  • Loading branch information
netbriler committed Mar 23, 2022
1 parent d1f8e90 commit f97afc2
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 9 deletions.
9 changes: 5 additions & 4 deletions aiogram_datepicker/views/day.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ def __init__(self, settings: DatepickerSettings, set_view):
self.settings = settings.views['day']
self.labels = settings.labels
self.set_view = set_view
self.select_disabled = 'select' not in merge_list(self.settings['header']) \
and 'select' not in merge_list(self.settings['footer'])

def _get_action(self, view: str, action: str, year: int, month: int, day: int) -> InlineKeyboardButton:
if action in ['prev-year', 'next-year', 'prev-month', 'next-month', 'ignore']:
Expand Down Expand Up @@ -64,7 +66,7 @@ def get_markup(self, _date: date = None) -> InlineKeyboardMarkup:
continue

label = f'{week_day}'
if date(year, month, week_day) == _date:
if date(year, month, week_day) == _date and not self.select_disabled:
label = f'{week_day} *'
elif date(year, month, week_day) == datetime.now().date():
label = f'• {week_day} •'
Expand All @@ -82,10 +84,9 @@ async def process(self, query: CallbackQuery, action: str, _date: date) -> Union
return _date

elif action == 'set-day':
await query.message.edit_reply_markup(self.get_markup(_date))
if 'select' not in merge_list(self.settings['header']) \
and 'select' not in merge_list(self.settings['footer']):
if self.select_disabled:
return _date
await query.message.edit_reply_markup(self.get_markup(_date))

elif action == 'prev-year':
prev_date = date(_date.year - 1, _date.month, _date.day)
Expand Down
7 changes: 4 additions & 3 deletions aiogram_datepicker/views/month.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ def __init__(self, settings: DatepickerSettings, set_view):
self.labels = settings.labels
self.set_view = set_view
self.months = settings.views['month']['months_labels']
self.select_disabled = 'select' not in merge_list(self.settings['header']) \
and 'select' not in merge_list(self.settings['footer'])

def _get_action(self, view: str, action: str, year: int, month: int, day: int) -> InlineKeyboardButton:
if action in ['prev-year', 'next-year', 'ignore']:
Expand Down Expand Up @@ -48,7 +50,7 @@ def get_markup(self, _date: date = None) -> InlineKeyboardMarkup:
markup.row()
for i, month_title in enumerate(self.months, start=1):
markup.insert(InlineKeyboardButton(
f'{month_title}*' if i == month else month_title,
f'{month_title}*' if i == month and not self.select_disabled else month_title,
callback_data=self._get_callback('month', 'set-month', year, i, day)
))

Expand All @@ -61,8 +63,7 @@ async def process(self, query: CallbackQuery, action: str, _date: date) -> Union
await query.message.edit_reply_markup(self.get_markup(_date))

elif action == 'set-month':
if 'select' not in merge_list(self.settings['header']) \
and 'select' not in merge_list(self.settings['footer']):
if self.select_disabled:
await self.set_view(query, 'day', _date)
else:
await query.message.edit_reply_markup(self.get_markup(_date))
Expand Down
3 changes: 3 additions & 0 deletions aiogram_datepicker/views/year.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton

from .base import BaseView
from ..helpers import merge_list
from ..settings import DatepickerSettings


Expand All @@ -18,6 +19,8 @@ def __init__(self, settings: DatepickerSettings, set_view):
self.settings = settings.views['year']
self.labels = settings.labels
self.set_view = set_view
self.select_disabled = 'select' not in merge_list(self.settings['header']) \
and 'select' not in merge_list(self.settings['footer'])

def _get_action(self, view: str, action: str, year: int, month: int, day: int) -> InlineKeyboardButton:
if action in ['prev-years', 'next-years', 'ignore']:
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
setuptools.setup(
name='aiogram_datepicker',
packages=setuptools.find_packages(),
version='0.0.7',
version='0.0.8',
license='MIT',
description='Telegram Bots datepicker & Aiogram datepicker',
author='Briler',
author_email='netbriler@gmail.com',
url='https://github.com/netbriler/aiogram-datepicker',
download_url='https://github.com/netbriler/aiogram-datepicker/archive/refs/tags/0.0.7.tar.gz',
download_url='https://github.com/netbriler/aiogram-datepicker/archive/refs/tags/0.0.8.tar.gz',
keywords=['Aiogram', 'Telegram', 'Bots', 'Calendar', 'Datepicker'],
long_description=long_description,
long_description_content_type='text/markdown',
Expand Down

0 comments on commit f97afc2

Please sign in to comment.