|
|
@@ -713,38 +713,42 @@ async fn callback_handler(q: CallbackQuery, bot: Bot, dialogue: QIFDialogue) ->
|
|
|
let response_message = format!("Editing item {}", item_id);
|
|
|
if let Some(chat_id) = q.message.clone().map(|msg| msg.chat.id) {
|
|
|
bot.send_message(chat_id, response_message).await?;
|
|
|
- }
|
|
|
|
|
|
- let state = dialogue.get().await?;
|
|
|
- if let Some(data) = state {
|
|
|
- log::info!("State: {}", data);
|
|
|
- if let State::Ready {
|
|
|
- filename,
|
|
|
- mut item_categories,
|
|
|
- } = data
|
|
|
- {
|
|
|
- let mut item_to_edit = None;
|
|
|
- let req_item: usize = item_id.parse().unwrap_or_default();
|
|
|
- for (index, (key, value)) in item_categories.iter().enumerate() {
|
|
|
- log::debug!("Index: {}, Key: {}, Value: {}", index, key, value);
|
|
|
- if index == req_item {
|
|
|
- log::info!("Editing item {}:{}", key, value);
|
|
|
- item_to_edit = Some(key.clone());
|
|
|
+ let state = dialogue.get().await?;
|
|
|
+ if let Some(data) = state {
|
|
|
+ log::info!("State: {}", data);
|
|
|
+ if let State::Ready {
|
|
|
+ filename,
|
|
|
+ item_categories,
|
|
|
+ } = data
|
|
|
+ {
|
|
|
+ let mut item_to_edit = None;
|
|
|
+ let req_item: usize = item_id.parse().unwrap_or_default();
|
|
|
+ for (index, (key, value)) in item_categories.iter().enumerate() {
|
|
|
+ log::debug!("Index: {}, Key: {}, Value: {}", index, key, value);
|
|
|
+ if index == req_item {
|
|
|
+ log::info!("Editing item {}:{}", key, value);
|
|
|
+ item_to_edit = Some(key.clone());
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if let Some(key) = item_to_edit {
|
|
|
- let value = item_categories.remove(&key).unwrap_or_default();
|
|
|
- dialogue
|
|
|
- .update(State::CategorySelect {
|
|
|
- filename,
|
|
|
- item: value,
|
|
|
- items_left: vec![],
|
|
|
- items_processed: item_categories,
|
|
|
- })
|
|
|
+ if let Some(key) = item_to_edit {
|
|
|
+ bot.send_message(
|
|
|
+ chat_id,
|
|
|
+ format!("Input category to search for {}", &key),
|
|
|
+ )
|
|
|
.await?;
|
|
|
- } else {
|
|
|
- log::error!("Attempt to edit non-existent item");
|
|
|
+ dialogue
|
|
|
+ .update(State::CategorySelect {
|
|
|
+ filename,
|
|
|
+ item: key,
|
|
|
+ items_left: vec![],
|
|
|
+ items_processed: item_categories,
|
|
|
+ })
|
|
|
+ .await?;
|
|
|
+ } else {
|
|
|
+ log::error!("Attempt to edit non-existent item");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|