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.
gentoo-overlay/app-office/kmymoney/files/kmymoney-4.8.0-drop-nationa...

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)