Исправление логина в чатах, добавлены новые списки чатов для Склада и Кофеен
Signed-off-by: benya <benya@daemonlord.ru>
This commit is contained in:
28
main.py
28
main.py
@@ -129,7 +129,7 @@ class AuthBrowserWindow(QDialog):
|
|||||||
"""Запускает OAuth авторизацию VK в этом окне."""
|
"""Запускает OAuth авторизацию VK в этом окне."""
|
||||||
auth_url = (
|
auth_url = (
|
||||||
"https://oauth.vk.com/authorize?"
|
"https://oauth.vk.com/authorize?"
|
||||||
"client_id=6287487&"
|
"client_id=2685278&"
|
||||||
"display=page&"
|
"display=page&"
|
||||||
"redirect_uri=https://oauth.vk.com/blank.html&"
|
"redirect_uri=https://oauth.vk.com/blank.html&"
|
||||||
"scope=1073737727&"
|
"scope=1073737727&"
|
||||||
@@ -237,6 +237,8 @@ class VkChatManager(QMainWindow):
|
|||||||
self.chats = []
|
self.chats = []
|
||||||
self.office_chat_checkboxes = []
|
self.office_chat_checkboxes = []
|
||||||
self.retail_chat_checkboxes = []
|
self.retail_chat_checkboxes = []
|
||||||
|
self.warehouse_chat_checkboxes = []
|
||||||
|
self.coffee_chat_checkboxes = []
|
||||||
self.other_chat_checkboxes = []
|
self.other_chat_checkboxes = []
|
||||||
self.vk_session = None
|
self.vk_session = None
|
||||||
self.vk = None
|
self.vk = None
|
||||||
@@ -290,6 +292,10 @@ class VkChatManager(QMainWindow):
|
|||||||
self.chat_tabs.addTab(self.office_tab, "AG Офис")
|
self.chat_tabs.addTab(self.office_tab, "AG Офис")
|
||||||
self.retail_tab = self.create_chat_tab()
|
self.retail_tab = self.create_chat_tab()
|
||||||
self.chat_tabs.addTab(self.retail_tab, "AG Розница")
|
self.chat_tabs.addTab(self.retail_tab, "AG Розница")
|
||||||
|
self.warehouse_tab = self.create_chat_tab()
|
||||||
|
self.chat_tabs.addTab(self.warehouse_tab, "AG Склад")
|
||||||
|
self.coffee_tab = self.create_chat_tab()
|
||||||
|
self.chat_tabs.addTab(self.coffee_tab, "AG Кофейни")
|
||||||
self.other_tab = self.create_chat_tab()
|
self.other_tab = self.create_chat_tab()
|
||||||
self.chat_tabs.addTab(self.other_tab, "Прочие")
|
self.chat_tabs.addTab(self.other_tab, "Прочие")
|
||||||
layout.addWidget(QLabel("Выберите чаты:"))
|
layout.addWidget(QLabel("Выберите чаты:"))
|
||||||
@@ -482,7 +488,7 @@ class VkChatManager(QMainWindow):
|
|||||||
|
|
||||||
def set_all_checkboxes_on_current_tab(self, checked):
|
def set_all_checkboxes_on_current_tab(self, checked):
|
||||||
current_index = self.chat_tabs.currentIndex()
|
current_index = self.chat_tabs.currentIndex()
|
||||||
checkbox_lists = [self.office_chat_checkboxes, self.retail_chat_checkboxes, self.other_chat_checkboxes]
|
checkbox_lists = [self.office_chat_checkboxes, self.retail_chat_checkboxes, self.retail_warehouse_checkboxes, self.retail_coffee_checkboxes, self.other_chat_checkboxes]
|
||||||
if 0 <= current_index < len(checkbox_lists):
|
if 0 <= current_index < len(checkbox_lists):
|
||||||
for checkbox in checkbox_lists[current_index]:
|
for checkbox in checkbox_lists[current_index]:
|
||||||
checkbox.setChecked(checked)
|
checkbox.setChecked(checked)
|
||||||
@@ -524,7 +530,7 @@ class VkChatManager(QMainWindow):
|
|||||||
|
|
||||||
def _clear_chat_tabs(self):
|
def _clear_chat_tabs(self):
|
||||||
self.chats.clear()
|
self.chats.clear()
|
||||||
for chk_list in [self.office_chat_checkboxes, self.retail_chat_checkboxes, self.other_chat_checkboxes]:
|
for chk_list in [self.office_chat_checkboxes, self.retail_chat_checkboxes, self.warehouse_chat_checkboxes, self.coffee_chat_checkboxes, self.other_chat_checkboxes]:
|
||||||
for checkbox in chk_list:
|
for checkbox in chk_list:
|
||||||
checkbox.setParent(None)
|
checkbox.setParent(None)
|
||||||
checkbox.deleteLater()
|
checkbox.deleteLater()
|
||||||
@@ -537,6 +543,8 @@ class VkChatManager(QMainWindow):
|
|||||||
layouts = [
|
layouts = [
|
||||||
self.office_tab.findChild(QWidget).findChild(QVBoxLayout),
|
self.office_tab.findChild(QWidget).findChild(QVBoxLayout),
|
||||||
self.retail_tab.findChild(QWidget).findChild(QVBoxLayout),
|
self.retail_tab.findChild(QWidget).findChild(QVBoxLayout),
|
||||||
|
self.warehouse_tab.findChild(QWidget).findChild(QVBoxLayout),
|
||||||
|
self.coffee_tab.findChild(QWidget).findChild(QVBoxLayout),
|
||||||
self.other_tab.findChild(QWidget).findChild(QVBoxLayout)
|
self.other_tab.findChild(QWidget).findChild(QVBoxLayout)
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -558,13 +566,21 @@ class VkChatManager(QMainWindow):
|
|||||||
elif "AG розница" in title:
|
elif "AG розница" in title:
|
||||||
layouts[1].insertWidget(layouts[1].count() - 1, checkbox)
|
layouts[1].insertWidget(layouts[1].count() - 1, checkbox)
|
||||||
self.retail_chat_checkboxes.append(checkbox)
|
self.retail_chat_checkboxes.append(checkbox)
|
||||||
else:
|
elif "AG склад" in title:
|
||||||
layouts[2].insertWidget(layouts[2].count() - 1, checkbox)
|
layouts[2].insertWidget(layouts[2].count() - 1, checkbox)
|
||||||
|
self.warehouse_chat_checkboxes.append(checkbox)
|
||||||
|
elif "AG кофейни" in title:
|
||||||
|
layouts[3].insertWidget(layouts[3].count() - 1, checkbox)
|
||||||
|
self.coffee_chat_checkboxes.append(checkbox)
|
||||||
|
else:
|
||||||
|
layouts[4].insertWidget(layouts[4].count() - 1, checkbox)
|
||||||
self.other_chat_checkboxes.append(checkbox)
|
self.other_chat_checkboxes.append(checkbox)
|
||||||
|
|
||||||
self.chat_tabs.setTabText(0, f"AG Офис ({len(self.office_chat_checkboxes)})")
|
self.chat_tabs.setTabText(0, f"AG Офис ({len(self.office_chat_checkboxes)})")
|
||||||
self.chat_tabs.setTabText(1, f"AG Розница ({len(self.retail_chat_checkboxes)})")
|
self.chat_tabs.setTabText(1, f"AG Розница ({len(self.retail_chat_checkboxes)})")
|
||||||
self.chat_tabs.setTabText(2, f"Прочие ({len(self.other_chat_checkboxes)})")
|
self.chat_tabs.setTabText(2, f"AG Склад ({len(self.warehouse_chat_checkboxes)})")
|
||||||
|
self.chat_tabs.setTabText(3, f"AG Кофейни ({len(self.coffee_chat_checkboxes)})")
|
||||||
|
self.chat_tabs.setTabText(4, f"Прочие ({len(self.other_chat_checkboxes)})")
|
||||||
except VkApiError as e:
|
except VkApiError as e:
|
||||||
QMessageBox.critical(self, "Ошибка", f"Не удалось загрузить чаты: {e}")
|
QMessageBox.critical(self, "Ошибка", f"Не удалось загрузить чаты: {e}")
|
||||||
self.set_ui_state(False)
|
self.set_ui_state(False)
|
||||||
@@ -578,7 +594,7 @@ class VkChatManager(QMainWindow):
|
|||||||
|
|
||||||
def _get_selected_chats(self):
|
def _get_selected_chats(self):
|
||||||
selected = []
|
selected = []
|
||||||
for chk in self.office_chat_checkboxes + self.retail_chat_checkboxes + self.other_chat_checkboxes:
|
for chk in self.office_chat_checkboxes + self.retail_chat_checkboxes + self.warehouse_chat_checkboxes + self.coffee_chat_checkboxes + self.other_chat_checkboxes:
|
||||||
if chk.isChecked():
|
if chk.isChecked():
|
||||||
chat_id = chk.property("chat_id")
|
chat_id = chk.property("chat_id")
|
||||||
title = next((c['title'] for c in self.chats if c['id'] == chat_id), "")
|
title = next((c['title'] for c in self.chats if c['id'] == chat_id), "")
|
||||||
|
|||||||
Reference in New Issue
Block a user