1
0
forked from BRT/arc

Add card number validation and fix card table display logic in BankSetupWizard.

This commit is contained in:
slava 2026-05-13 10:41:56 +07:00
parent a7cefa7fcf
commit abcc3cadb2

View File

@ -571,6 +571,14 @@ void BankSetupWizard::onVerificationSuccess() {
// Load cards // Load cards
const QList<MaterialInfo> cards = MaterialDAO::getAccounts(m_deviceId, m_app.code); const QList<MaterialInfo> cards = MaterialDAO::getAccounts(m_deviceId, m_app.code);
for (const MaterialInfo &c : cards) {
if (c.cardNumber.isEmpty()) {
onVerificationError("Не удалось получить полный номер карты (распознаны только последние 4 цифры).\n"
"Попробуйте повторить настройку.");
return;
}
}
// Очистка предыдущих радио-кнопок, если мастер перезапускался // Очистка предыдущих радио-кнопок, если мастер перезапускался
for (QAbstractButton *b : m_cardsGroup->buttons()) { for (QAbstractButton *b : m_cardsGroup->buttons()) {
m_cardsGroup->removeButton(b); m_cardsGroup->removeButton(b);
@ -581,8 +589,7 @@ void BankSetupWizard::onVerificationSuccess() {
m_cardsTable->setRowCount(cards.size()); m_cardsTable->setRowCount(cards.size());
for (int i = 0; i < cards.size(); ++i) { for (int i = 0; i < cards.size(); ++i) {
const MaterialInfo &c = cards[i]; const MaterialInfo &c = cards[i];
const QString displayNumber = c.cardNumber.isEmpty() ? c.lastNumbers : c.cardNumber; m_cardsTable->setItem(i, 0, new QTableWidgetItem(c.cardNumber));
m_cardsTable->setItem(i, 0, new QTableWidgetItem(displayNumber));
m_cardsTable->setItem(i, 1, new QTableWidgetItem(QString::number(c.amount))); m_cardsTable->setItem(i, 1, new QTableWidgetItem(QString::number(c.amount)));
m_cardsTable->setItem(i, 2, new QTableWidgetItem(c.currency)); m_cardsTable->setItem(i, 2, new QTableWidgetItem(c.currency));