From ea471cdfd3e3dae576d84fb77c497daa5a4a760c Mon Sep 17 00:00:00 2001 From: Eugene Zadyra Date: Tue, 30 Oct 2018 14:03:34 +0100 Subject: [PATCH] Fixed bug when user can't choose a date using date picker but only manually --- .../main/scala/com/lbs/server/conversation/DatePicker.scala | 6 +++--- .../main/scala/com/lbs/server/conversation/TimePicker.scala | 6 +++--- server/src/main/scala/com/lbs/server/util/package.scala | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/server/src/main/scala/com/lbs/server/conversation/DatePicker.scala b/server/src/main/scala/com/lbs/server/conversation/DatePicker.scala index 6bd4b49..6c6f1a1 100644 --- a/server/src/main/scala/com/lbs/server/conversation/DatePicker.scala +++ b/server/src/main/scala/com/lbs/server/conversation/DatePicker.scala @@ -27,7 +27,7 @@ import java.time.format.TextStyle import java.time.{LocalTime, ZonedDateTime} import akka.actor.ActorSystem -import com.lbs.bot.model.{Button, Command} +import com.lbs.bot.model.Button import com.lbs.bot.{Bot, _} import com.lbs.server.conversation.DatePicker._ import com.lbs.server.conversation.Login.UserId @@ -101,9 +101,9 @@ class DatePicker(val userId: UserId, val bot: Bot, val localization: Localizatio bot.sendMessage(userId.source, "Incorrect date. Please use format dd-MM") goto(requestDate) } - case Msg(Command(_, msg, Some(tag)), date) => + case Msg(cmd@CallbackCommand(tag), date) => val modifiedDate = modifyDate(date, tag) - bot.sendEditMessage(userId.source, msg.messageId, inlineKeyboard = dateButtons(modifiedDate)) + bot.sendEditMessage(userId.source, cmd.message.messageId, inlineKeyboard = dateButtons(modifiedDate)) stay() using modifiedDate } diff --git a/server/src/main/scala/com/lbs/server/conversation/TimePicker.scala b/server/src/main/scala/com/lbs/server/conversation/TimePicker.scala index cb5a582..0dd56b6 100644 --- a/server/src/main/scala/com/lbs/server/conversation/TimePicker.scala +++ b/server/src/main/scala/com/lbs/server/conversation/TimePicker.scala @@ -26,7 +26,7 @@ package com.lbs.server.conversation import java.time.LocalTime import akka.actor.ActorSystem -import com.lbs.bot.model.{Button, Command} +import com.lbs.bot.model.Button import com.lbs.bot.{Bot, _} import com.lbs.server.conversation.Login.UserId import com.lbs.server.conversation.TimePicker.{Mode, Tags, TimeFromMode, TimeToMode} @@ -96,9 +96,9 @@ class TimePicker(val userId: UserId, val bot: Bot, val localization: Localizatio bot.sendMessage(userId.source, "Incorrect time. Please use format HH:mm") goto(requestTime) } - case Msg(Command(_, msg, Some(tag)), time) => + case Msg(cmd@CallbackCommand(tag), time) => val modifiedTime = modifyTime(time, tag) - bot.sendEditMessage(userId.source, msg.messageId, inlineKeyboard = timeButtons(modifiedTime)) + bot.sendEditMessage(userId.source, cmd.message.messageId, inlineKeyboard = timeButtons(modifiedTime)) stay() using modifiedTime } diff --git a/server/src/main/scala/com/lbs/server/util/package.scala b/server/src/main/scala/com/lbs/server/util/package.scala index da0281d..2eb9e3f 100644 --- a/server/src/main/scala/com/lbs/server/util/package.scala +++ b/server/src/main/scala/com/lbs/server/util/package.scala @@ -128,11 +128,11 @@ package object util { object MessageExtractors { object TextCommand { - def unapply(cmd: Command): Option[String] = cmd.message.text.filter(_.nonEmpty) + def unapply(cmd: Command): Option[String] = if(cmd.callbackData.isEmpty) cmd.message.text.filter(_.nonEmpty) else None } object OptionalTextCommand { - def unapply(cmd: Command): Option[Option[String]] = Some(TextCommand.unapply(cmd)) + def unapply(cmd: Command): Option[Option[String]] = if(cmd.callbackData.isEmpty) Some(TextCommand.unapply(cmd)) else None } object CallbackCommand {