You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
290 lines
12 KiB
290 lines
12 KiB
commit 5979b1e92d67124591d10b18b173852882f077e7
|
|
Author: Christian Dávid <christian-david@web.de>
|
|
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 <aqbanking/value.h>
|
|
|
|
#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<germanOnlineTransfer::settings> AB_TransactionLimits_toGermanOnlineTaskSettings(const AB_TRANSACTION_LIMITS* aqlimits)
|
|
-{
|
|
- Q_CHECK_PTR(aqlimits);
|
|
-
|
|
- QSharedPointer<creditTransferSettingsBase> 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<germanOnlineTransfer::settings>();
|
|
-}
|
|
-
|
|
/** @todo Check if AB_TransactionLimits_GetMaxLenCustomerReference really is the limit for the sepa reference */
|
|
QSharedPointer<sepaOnlineTransfer::settings> 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<germanOnlineTransfer::settings> 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<onlineJob>& jobs)
|
|
|
|
if (!jobs.isEmpty()) {
|
|
foreach (onlineJob job, jobs) {
|
|
- if (germanOnlineTransfer::name() == job.task()->taskName()) {
|
|
- onlineJobTyped<germanOnlineTransfer> typedJob(job);
|
|
- enqueTransaction(typedJob);
|
|
- job = typedJob;
|
|
- } else if (sepaOnlineTransfer::name() == job.task()->taskName()) {
|
|
+ if (sepaOnlineTransfer::name() == job.task()->taskName()) {
|
|
onlineJobTyped<sepaOnlineTransfer> 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<AB_JOB, QScopedPointerAbJobDeleter> 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<IonlineTaskSettings>();
|
|
- //! @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<AB_JOB, QScopedPointerAbJobDeleter> 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<germanOnlineTransfer>& job)
|
|
-{
|
|
- /* get AqBanking account */
|
|
- QString accId = job.constTask()->responsibleAccount();
|
|
- AB_ACCOUNT *abAccount = aqbAccount(accId);
|
|
- if (!abAccount) {
|
|
- job.addJobMessage(onlineJobMessage(onlineJobMessage::warning, "KBanking", i18n("<qt>"
|
|
- "The given application account <b>%1</b> "
|
|
- "has not been mapped to an online "
|
|
- "account."
|
|
- "</qt>",
|
|
- 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<sepaOnlineTransfer>& 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<germanOnlineTransfer>& job);
|
|
bool enqueTransaction(onlineJobTyped<sepaOnlineTransfer>& 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
|
|
- $<TARGET_OBJECTS:konlinetasks_sepa_OBJECTS>
|
|
- 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)
|