summaryrefslogtreecommitdiff
path: root/app-office/kmymoney/files/kmymoney-4.8.0-drop-national-onlinetasks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-office/kmymoney/files/kmymoney-4.8.0-drop-national-onlinetasks.patch')
-rw-r--r--app-office/kmymoney/files/kmymoney-4.8.0-drop-national-onlinetasks.patch289
1 files changed, 289 insertions, 0 deletions
diff --git a/app-office/kmymoney/files/kmymoney-4.8.0-drop-national-onlinetasks.patch b/app-office/kmymoney/files/kmymoney-4.8.0-drop-national-onlinetasks.patch
new file mode 100644
index 000000000000..abcffed02275
--- /dev/null
+++ b/app-office/kmymoney/files/kmymoney-4.8.0-drop-national-onlinetasks.patch
@@ -0,0 +1,289 @@
+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)