commit 5979b1e92d67124591d10b18b173852882f077e7 Author: Christian Dávid Date: Mon Jun 13 00:05:27 2016 +0200 Removed national credit transfers They are not supported by the banks anymore. So they can be removed. Unfortunately they contained the only example for a task converter. Due to the removed plugin the CMakeLists.txt for sepa could be simplified. Cherry-picked from d514e650 diff --git a/kmymoney/plugins/kbanking/aqbankingkmmoperators.cpp b/kmymoney/plugins/kbanking/aqbankingkmmoperators.cpp index 6c2b5d8a..8b67bcbb 100644 --- a/kmymoney/plugins/kbanking/aqbankingkmmoperators.cpp +++ b/kmymoney/plugins/kbanking/aqbankingkmmoperators.cpp @@ -24,9 +24,9 @@ #include #include "payeeidentifier/payeeidentifiertyped.h" +#include "payeeidentifier/nationalaccount/nationalaccount.h" #include "tasksettings/credittransfersettingsbase.h" #include "onlinetasks/sepa/tasks/sepaonlinetransfer.h" -#include "onlinetasks/national/tasks/germanonlinetransfer.h" #include "gwenhywfarqtoperators.h" /** @@ -49,40 +49,6 @@ static const QString dtausChars = QString::fromUtf8("0123456789ABCDEFGHIJKLMNOPQ */ static const QString sepaChars = QString("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz':?.,- (+)/"); -QSharedPointer AB_TransactionLimits_toGermanOnlineTaskSettings(const AB_TRANSACTION_LIMITS* aqlimits) -{ - Q_CHECK_PTR(aqlimits); - - QSharedPointer settings(new creditTransferSettingsBase); - - // AqBanking returns 0 as min length even if it requires one - int minLength = AB_TransactionLimits_GetMinLenPurpose(aqlimits); - if (minLength == 0) - minLength = 1; - settings->setPurposeLimits(AB_TransactionLimits_GetMaxLinesPurpose(aqlimits), - AB_TransactionLimits_GetMaxLenPurpose(aqlimits), - minLength - ); - - // AqBanking returns 0 as min length even if it requires one - minLength = AB_TransactionLimits_GetMinLenRemoteName(aqlimits); - if (minLength == 0) - minLength = 1; - settings->setRecipientNameLimits(AB_TransactionLimits_GetMaxLinesRemoteName(aqlimits), - AB_TransactionLimits_GetMaxLenRemoteName(aqlimits), - minLength - ); - - minLength = AB_TransactionLimits_GetMinLenLocalName(aqlimits); - if (minLength == 0) - minLength = 1; - settings->setPayeeNameLimits(1, AB_TransactionLimits_GetMaxLenLocalName(aqlimits), minLength); - - settings->setAllowedChars(dtausChars); - - return settings.dynamicCast(); -} - /** @todo Check if AB_TransactionLimits_GetMaxLenCustomerReference really is the limit for the sepa reference */ QSharedPointer AB_TransactionLimits_toSepaOnlineTaskSettings(const AB_TRANSACTION_LIMITS* aqlimits) { diff --git a/kmymoney/plugins/kbanking/aqbankingkmmoperators.h b/kmymoney/plugins/kbanking/aqbankingkmmoperators.h index a314cd72..5205a884 100644 --- a/kmymoney/plugins/kbanking/aqbankingkmmoperators.h +++ b/kmymoney/plugins/kbanking/aqbankingkmmoperators.h @@ -29,7 +29,6 @@ #include "onlinetasks/interfaces/tasks/ionlinetasksettings.h" #include "onlinetasks/sepa/tasks/sepaonlinetransfer.h" -#include "onlinetasks/national/tasks/germanonlinetransfer.h" class AB_ACCOUNT; class AB_TRANSACTION_LIMITS; @@ -43,12 +42,6 @@ class nationalAccount; } /** - * @brief AB_TransactionLimits_toGermanOnlineTaskSettings - * @param aqlimits IN - */ -QSharedPointer AB_TransactionLimits_toGermanOnlineTaskSettings(const AB_TRANSACTION_LIMITS* aqlimits); - -/** * @brief AB_TransactionLimits_toSepaOnlineTaskSettings * @param aqlimits IN */ diff --git a/kmymoney/plugins/kbanking/mymoneybanking.cpp b/kmymoney/plugins/kbanking/mymoneybanking.cpp index d8c4a571..a64eaf61 100644 --- a/kmymoney/plugins/kbanking/mymoneybanking.cpp +++ b/kmymoney/plugins/kbanking/mymoneybanking.cpp @@ -598,11 +598,7 @@ void KBankingPlugin::sendOnlineJob(QList& jobs) if (!jobs.isEmpty()) { foreach (onlineJob job, jobs) { - if (germanOnlineTransfer::name() == job.task()->taskName()) { - onlineJobTyped typedJob(job); - enqueTransaction(typedJob); - job = typedJob; - } else if (sepaOnlineTransfer::name() == job.task()->taskName()) { + if (sepaOnlineTransfer::name() == job.task()->taskName()) { onlineJobTyped typedJob(job); enqueTransaction(typedJob); job = typedJob; @@ -646,14 +642,8 @@ QStringList KBankingPlugin::availableJobs(QString accountId) // Check availableJobs - // national transfer - AB_JOB *abJob = AB_JobSingleTransfer_new(abAccount); - if (AB_Job_CheckAvailability(abJob) == 0) - list.append(germanOnlineTransfer::name()); - AB_Job_free(abJob); - // sepa transfer - abJob = AB_JobSepaTransfer_new(abAccount); + AB_JOB* abJob = AB_JobSepaTransfer_new(abAccount); if (AB_Job_CheckAvailability(abJob) == 0) list.append(sepaOnlineTransfer::name()); AB_Job_free(abJob); @@ -686,17 +676,7 @@ IonlineTaskSettings::ptr KBankingPlugin::settings(QString accountId, QString tas if (abAcc == 0) return IonlineTaskSettings::ptr(); - if (germanOnlineTransfer::name() == taskName) { - // Get Limits for germanOnlineTransfer - QScopedPointer abJob(AB_JobSingleTransfer_new(abAcc)); - if (AB_Job_CheckAvailability(abJob.data()) != 0) - return IonlineTaskSettings::ptr(); - - const AB_TRANSACTION_LIMITS* limits = AB_Job_GetFieldLimits(abJob.data()); - return AB_TransactionLimits_toGermanOnlineTaskSettings(limits).dynamicCast(); - //! @todo needs free? because that is not possible with const AB_TRANSACTION_LIMITS* - // AB_TransactionLimits_free( limits ); - } else if (sepaOnlineTransfer::name() == taskName) { + if (sepaOnlineTransfer::name() == taskName) { // Get limits for sepaonlinetransfer QScopedPointer abJob(AB_JobSepaTransfer_new(abAcc)); if (AB_Job_CheckAvailability(abJob.data()) != 0) @@ -707,62 +687,6 @@ IonlineTaskSettings::ptr KBankingPlugin::settings(QString accountId, QString tas return IonlineTaskSettings::ptr(); } -bool KBankingPlugin::enqueTransaction(onlineJobTyped& job) -{ - /* get AqBanking account */ - QString accId = job.constTask()->responsibleAccount(); - AB_ACCOUNT *abAccount = aqbAccount(accId); - if (!abAccount) { - job.addJobMessage(onlineJobMessage(onlineJobMessage::warning, "KBanking", i18n("" - "The given application account %1 " - "has not been mapped to an online " - "account." - "", - MyMoneyFile::instance()->account(accId).name()))); - return false; - } - //setupAccountReference(acc, ba); // needed? - - AB_JOB *abJob = AB_JobSingleTransfer_new(abAccount); - int rv = AB_Job_CheckAvailability(abJob); - if (rv) { - qDebug("AB_ERROR_OFFSET is %i", AB_ERROR_OFFSET); - job.addJobMessage(onlineJobMessage::error, "AqBanking", - QString("National credit transfers for account \"%1\" are not available, error code %2.").arg(MyMoneyFile::instance()->account(accId).name(), rv), - QString::number(rv) - ); - return false; - } - AB_TRANSACTION *abTransaction = AB_Transaction_new(); - - // Recipient - payeeIdentifiers::nationalAccount beneficiaryAcc = job.task()->beneficiaryTyped(); - AB_Transaction_SetRemoteAccount(abTransaction, beneficiaryAcc); - - // Origin Account - AB_Transaction_SetLocalAccount(abTransaction, abAccount); - - // Purpose - QStringList qPurpose = job.task()->purpose().split('\n', QString::SkipEmptyParts); - GWEN_STRINGLIST *purpose = GWEN_StringList_fromQStringList(qPurpose); - AB_Transaction_SetPurpose(abTransaction, purpose); - GWEN_StringList_free(purpose); - - // Other - AB_Transaction_SetTextKey(abTransaction, job.task()->textKey()); - AB_Transaction_SetValue(abTransaction, AB_Value_fromMyMoneyMoney(job.task()->value())); - - /** @todo LOW remove Debug info */ - qDebug() << "SetTransaction: " << AB_Job_SetTransaction(abJob, abTransaction); - - GWEN_DB_NODE *gwenNode = AB_Job_GetAppData(abJob); - GWEN_DB_SetCharValue(gwenNode, GWEN_DB_FLAGS_DEFAULT, "kmmOnlineJobId", m_kbanking->mappingId(job).toLatin1().constData()); - - qDebug() << "Enqueue: " << m_kbanking->enqueueJob(abJob); - //delete localAcc; - return true; -} - bool KBankingPlugin::enqueTransaction(onlineJobTyped& job) { /* get AqBanking account */ diff --git a/kmymoney/plugins/kbanking/mymoneybanking.h b/kmymoney/plugins/kbanking/mymoneybanking.h index c2559ae7..7936704e 100644 --- a/kmymoney/plugins/kbanking/mymoneybanking.h +++ b/kmymoney/plugins/kbanking/mymoneybanking.h @@ -64,7 +64,6 @@ class KBAccountSettings; #include "mymoney/onlinejobtyped.h" #include "onlinetasks/sepa/tasks/sepaonlinetransfer.h" -#include "onlinetasks/national/tasks/germanonlinetransfer.h" /** * This class represents the KBanking plugin towards KMymoney. @@ -184,7 +183,6 @@ private: */ void startPasswordTimer(); - bool enqueTransaction(onlineJobTyped& job); bool enqueTransaction(onlineJobTyped& job); diff --git a/kmymoney/plugins/kbanking/tasksettings/credittransfersettingsbase.h b/kmymoney/plugins/kbanking/tasksettings/credittransfersettingsbase.h index 28d55a06..3bac6ce8 100644 --- a/kmymoney/plugins/kbanking/tasksettings/credittransfersettingsbase.h +++ b/kmymoney/plugins/kbanking/tasksettings/credittransfersettingsbase.h @@ -20,14 +20,13 @@ #define CREDITTRANSFERSETTINGSBASE_H #include "onlinetasks/sepa/tasks/sepaonlinetransfer.h" -#include "onlinetasks/national/tasks/germanonlinetransfer.h" /** * @brief Base class for sepaCreditTransfer and germanCreditTransfer settings * * @internal Both credit transfers have similar fields */ -class creditTransferSettingsBase : public sepaOnlineTransfer::settings, public germanOnlineTransfer::settings +class creditTransferSettingsBase : public sepaOnlineTransfer::settings { public: creditTransferSettingsBase() diff --git a/kmymoney/plugins/onlinetasks/CMakeLists.txt b/kmymoney/plugins/onlinetasks/CMakeLists.txt index 7be53137..2e57b214 100644 --- a/kmymoney/plugins/onlinetasks/CMakeLists.txt +++ b/kmymoney/plugins/onlinetasks/CMakeLists.txt @@ -1,5 +1,4 @@ add_subdirectory(interfaces) add_subdirectory(sepa) -add_subdirectory(national) add_subdirectory(unavailabletask) diff --git a/kmymoney/plugins/onlinetasks/sepa/CMakeLists.txt b/kmymoney/plugins/onlinetasks/sepa/CMakeLists.txt index 3c2d9db1..e3962d7a 100644 --- a/kmymoney/plugins/onlinetasks/sepa/CMakeLists.txt +++ b/kmymoney/plugins/onlinetasks/sepa/CMakeLists.txt @@ -2,6 +2,7 @@ set( sepaOnlineTasks_SRCS tasks/sepaonlinetransferimpl.cpp ui/sepacredittransferedit.cpp sepastorageplugin.cpp + sepaonlinetasksloader.cpp ) set( sepaOnlineTasks_HEADER @@ -12,14 +13,8 @@ kde4_add_ui_files( sepaOnlineTasks_SRCS ui/sepacredittransferedit.ui ) -automoc4( konlinetasks_sepa_OBJECTS sepaOnlineTasks_SRCS) -add_library( konlinetasks_sepa_OBJECTS OBJECT ${sepaOnlineTasks_SRCS} ) - -# Add actual plugin here it is not part of the objects -# needed if multiple plugins are linked (needed for unit tests) -kde4_add_plugin(konlinetasks_sepa - $ - sepaonlinetasksloader.cpp +add_library(konlinetasks_sepa MODULE + ${sepaOnlineTasks_SRCS} ) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kmymoney-sepaorders.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/kmymoney-sepaorders.desktop)