From fb28125edabb10cc318eb81cb6ec95c1d493d246 Mon Sep 17 00:00:00 2001
From: Jaap Jansma <jaap.jansma@civicoop.org>
Date: Wed, 29 Apr 2020 15:57:30 +0200
Subject: [PATCH] Added data source for note field

---
 CHANGELOG.md                                  |  1 +
 Civi/DataProcessor/Factory.php                |  1 +
 Civi/DataProcessor/Source/Note/NoteSource.php | 33 +++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 Civi/DataProcessor/Source/Note/NoteSource.php

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2dd3cef..267ab59c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
 * Changed Field Specification to allow more advanced mysql functions.
 * Added Event Filter.
 * Added Formatted Address field.
+* Added data source for note
 
 # Version 1.6.0
 
diff --git a/Civi/DataProcessor/Factory.php b/Civi/DataProcessor/Factory.php
index 74458bfa..7f56810f 100644
--- a/Civi/DataProcessor/Factory.php
+++ b/Civi/DataProcessor/Factory.php
@@ -122,6 +122,7 @@ class Factory {
     $this->addDataSource('primary_membership', new Definition('Civi\DataProcessor\Source\Member\PrimaryMembershipSource'), E::ts('Primary Membership (retrieve the owner membership id'));
     $this->addDataSource('membership_type', new Definition('Civi\DataProcessor\Source\Member\MembershipTypeSource'), E::ts('Membership Type'));
     $this->addDataSource('membership_status', new Definition('Civi\DataProcessor\Source\Member\MembershipStatusSource'), E::ts('Membership Status'));
+    $this->addDataSource('note', new Definition('Civi\DataProcessor\Source\Note\NoteSource'), E::ts('Note'));
     $this->addDataSource('csv', new Definition('Civi\DataProcessor\Source\CSV'), E::ts('CSV File'));
     $this->addDataSource('sqltable', new Definition('Civi\DataProcessor\Source\SQLTable'), E::ts('SQL Table'));
     $this->addOutput('api', new Definition('Civi\DataProcessor\Output\Api'), E::ts('API'));
diff --git a/Civi/DataProcessor/Source/Note/NoteSource.php b/Civi/DataProcessor/Source/Note/NoteSource.php
new file mode 100644
index 00000000..17a65743
--- /dev/null
+++ b/Civi/DataProcessor/Source/Note/NoteSource.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * @author Jaap Jansma <jaap.jansma@civicoop.org>
+ * @license AGPL-3.0
+ */
+
+namespace Civi\DataProcessor\Source\Note;
+
+use Civi\DataProcessor\Source\AbstractCivicrmEntitySource;
+
+use CRM_Dataprocessor_ExtensionUtil as E;
+
+class NoteSource extends AbstractCivicrmEntitySource {
+
+  /**
+   * Returns the entity name
+   *
+   * @return String
+   */
+  protected function getEntity() {
+    return 'Note';
+  }
+
+  /**
+   * Returns the table name of this entity
+   *
+   * @return String
+   */
+  protected function getTable() {
+    return 'civicrm_note';
+  }
+
+}
-- 
GitLab