diff --git a/src/admin/js/main.js b/src/admin/js/main.js
index c84d11662..6635fcbff 100644
--- a/src/admin/js/main.js
+++ b/src/admin/js/main.js
@@ -23,7 +23,6 @@ import FormRelationship from '../../classes/metadata-types/relationship/FormRela
import FormTaxonomy from '../../classes/metadata-types/taxonomy/FormTaxonomy.vue';
import FormSelectbox from '../../classes/metadata-types/selectbox/FormSelectbox.vue';
-import FilterCustomInterval from '../../classes/filter-types/custom-interval/CustomInterval.vue';
import FilterNumeric from '../../classes/filter-types/numeric/Numeric.vue';
import FilterDate from '../../classes/filter-types/date/Date.vue';
import FilterSelectbox from '../../classes/filter-types/selectbox/Selectbox.vue';
@@ -59,7 +58,7 @@ import FormNumericListInterval from '../../classes/filter-types/numeric-list-int
// Configure and Register Plugins
Vue.use(Buefy, {
- defaultTooltipAnimated: true
+ defaultTooltipAnimated: true
});
Vue.use(VTooltip);
Vue.use(VueMasonry);
@@ -87,7 +86,6 @@ Vue.component('tainacan-form-item', TainacanFormItem);
Vue.component('tainacan-filter-item', TainacanFiltersList);
/* Filters */
-Vue.component('tainacan-filter-custom-interval', FilterCustomInterval);
Vue.component('tainacan-filter-numeric', FilterNumeric);
Vue.component('tainacan-filter-date', FilterDate);
Vue.component('tainacan-filter-selectbox', FilterSelectbox);
@@ -128,7 +126,7 @@ new Vue({
render: h => h(AdminPage)
});
-// Display Icons only once everything is loaded
+// Display Icons only once everything is loaded
function listen(evnt, elem, func) {
if (elem.addEventListener) // W3C DOM
elem.addEventListener(evnt,func,false);
diff --git a/src/admin/js/theme-main.js b/src/admin/js/theme-main.js
index 2dfb8b9c7..92841fa21 100644
--- a/src/admin/js/theme-main.js
+++ b/src/admin/js/theme-main.js
@@ -5,7 +5,6 @@ import VTooltip from 'v-tooltip';
import VueMasonry from 'vue-masonry-css';
// Custom elements
-import FilterCustomInterval from '../../classes/filter-types/custom-interval/CustomInterval.vue';
import FilterNumeric from '../../classes/filter-types/numeric/Numeric.vue';
import FilterDate from '../../classes/filter-types/date/Date.vue';
import FilterSelectbox from '../../classes/filter-types/selectbox/Selectbox.vue';
@@ -34,7 +33,7 @@ import { I18NPlugin, UserPrefsPlugin, RouterHelperPlugin, ConsolePlugin, StatusH
// Configure and Register Plugins
Vue.use(Buefy, {
- defaultTooltipAnimated: true
+ defaultTooltipAnimated: true
});
Vue.use(VTooltip);
Vue.use(VueMasonry);
@@ -44,11 +43,9 @@ Vue.use(RouterHelperPlugin);
Vue.use(StatusHelperPlugin);
Vue.use(ConsolePlugin, {visual: false});
-
Vue.component('tainacan-filter-item', TaincanFiltersList);
/* Filters */
-Vue.component('tainacan-filter-custom-interval', FilterCustomInterval);
Vue.component('tainacan-filter-numeric', FilterNumeric);
Vue.component('tainacan-filter-date', FilterDate);
Vue.component('tainacan-filter-selectbox', FilterSelectbox);
@@ -79,7 +76,7 @@ import ThemeItemsList from '../theme-items-list.vue';
export const ThemeItemsListing = new Vue({
el: '#tainacan-items-page',
store,
- router: routerTheme,
+ router: routerTheme,
data: {
termId: '',
taxonomy: '',
@@ -90,9 +87,9 @@ export const ThemeItemsListing = new Vue({
},
render: h => h(ThemeItemsList),
beforeMount () {
-
+
this.collectionId = this.$el.attributes['collection-id'] != undefined ? this.$el.attributes['collection-id'].value : undefined;
-
+
if (this.$el.attributes['default-view-mode'] != undefined)
this.defaultViewMode = this.$el.attributes['default-view-mode'].value;
else
@@ -107,10 +104,10 @@ export const ThemeItemsListing = new Vue({
this.taxonomy = this.$el.attributes['taxonomy'].value;
}
-
+
});
-// Display Icons only once everything is loaded
+// Display Icons only once everything is loaded
function listen(evnt, elem, func) {
if (elem.addEventListener) // W3C DOM
elem.addEventListener(evnt,func,false);
diff --git a/src/classes/filter-types/custom-interval/CustomInterval.vue b/src/classes/filter-types/custom-interval/CustomInterval.vue
deleted file mode 100644
index 20dc5e07f..000000000
--- a/src/classes/filter-types/custom-interval/CustomInterval.vue
+++ /dev/null
@@ -1,261 +0,0 @@
-
-
-
-
-
-
{{ $i18n.get('label_until') }}
-
-
-
-
-
-
-
{{ $i18n.get('label_until') }}
-
-
-
-
-
-
-
-
diff --git a/src/classes/filter-types/custom-interval/class-tainacan-custom-interval.php b/src/classes/filter-types/custom-interval/class-tainacan-custom-interval.php
deleted file mode 100644
index 94e79a4d0..000000000
--- a/src/classes/filter-types/custom-interval/class-tainacan-custom-interval.php
+++ /dev/null
@@ -1,74 +0,0 @@
-set_name( __('Custom Interval', 'tainacan'));
- $this->set_supported_types(['float','date']);
- $this->set_component('tainacan-filter-custom-interval');
- $this->set_use_max_options(false);
- $this->set_preview_template('
-
- ');
- }
-
- /**
- * @param $filter
- * @return string
- * @internal param $metadatum
- */
- public function render( $filter ){
- $type = ( $filter->get_metadatum()->get_metadata_type() === 'Tainacan\Metadata_Types\Date' ) ? 'date' : 'numeric';
- return '';
- }
-}
\ No newline at end of file
diff --git a/src/classes/tainacan-creator.php b/src/classes/tainacan-creator.php
index 9fa6eba39..e05717842 100644
--- a/src/classes/tainacan-creator.php
+++ b/src/classes/tainacan-creator.php
@@ -106,7 +106,7 @@ function tainacan_autoload($class_name){
}
$file = $dir . 'class-tainacan-'. strtolower(str_replace('_', '-' , $class_name)) . '.php';
-
+
if(file_exists($file)) {
require_once($file);
}
@@ -132,7 +132,6 @@ $Tainacan_Metadata->register_metadata_type('Tainacan\Metadata_Types\Taxonomy');
$Tainacan_Filters = \Tainacan\Repositories\Filters::get_instance();
//register filter type
-$Tainacan_Filters->register_filter_type('Tainacan\Filter_Types\Custom_Interval');
$Tainacan_Filters->register_filter_type('Tainacan\Filter_Types\Numeric');
$Tainacan_Filters->register_filter_type('Tainacan\Filter_Types\Date');
$Tainacan_Filters->register_filter_type('Tainacan\Filter_Types\Selectbox');
diff --git a/src/migrations.php b/src/migrations.php
index 9d5e16789..6a99ad5df 100644
--- a/src/migrations.php
+++ b/src/migrations.php
@@ -1,38 +1,38 @@
-prefix . 'tnc_bg_process';
$charset_collate = $wpdb->get_charset_collate();
$max_index_length = 191;
-
+
$query = "CREATE TABLE IF NOT EXISTS $table_name (
ID bigint(20) unsigned NOT NULL auto_increment,
user_id bigint(20) unsigned NOT NULL default '0',
@@ -51,20 +51,20 @@ class Migrations {
KEY user_id (user_id),
KEY action (action($max_index_length))
) $charset_collate;\n";
-
+
$wpdb->query($query);
}
-
+
/**
* We had some cases of tainacan upgrades from very old versions that missed some migrations...
* This migration make sure the table strucure is updated since the very first version
*/
static function assure_bg_process_database() {
global $wpdb;
-
+
$table_name = $wpdb->prefix . 'tnc_bg_process';
-
+
$column_exists = $wpdb->get_results( "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '{$wpdb->prefix}tnc_bg_process' AND column_name = 'progress_label'" );
if(empty($column_exists)) {
@@ -83,8 +83,8 @@ class Migrations {
ADD name text NOT NULL
");
}
-
-
+
+
$column_exists = $wpdb->get_results( "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '{$wpdb->prefix}tnc_bg_process' AND column_name = 'output'" );
if(empty($column_exists)) {
@@ -93,7 +93,7 @@ class Migrations {
ADD output longtext
");
}
-
+
$column_exists = $wpdb->get_results( "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '{$wpdb->prefix}tnc_bg_process' AND column_name = 'status'" );
if(empty($column_exists)) {
@@ -102,14 +102,14 @@ class Migrations {
ADD status ENUM('waiting','running','paused','cancelled','errored','finished','finished-errors')
");
}
-
+
}
static function init_capabilites() {
$Tainacan_Capabilities = \Tainacan\Capabilities::get_instance();
$Tainacan_Capabilities->init();
}
-
+
static function tainacan_migrate_post_type_field_to_metadatum(){
global $wpdb;
@@ -117,7 +117,7 @@ class Migrations {
['post_type' => 'tainacan-metadatum'],
['post_type' => 'tainacan-field'],
'%s', '%s');
-
+
$wpdb->update($wpdb->postmeta,
['meta_key' => 'default_displayed_metadata'],
['meta_key' => 'default_displayed_fields'],
@@ -137,17 +137,17 @@ class Migrations {
['meta_key' => 'metadata_type'],
['meta_key' => 'field_type'],
'%s', '%s');
-
+
$wpdb->update($wpdb->postmeta,
['meta_key' => 'metadata_type_options'],
['meta_key' => 'field_type_options'],
'%s', '%s');
-
+
$wpdb->update($wpdb->postmeta,
['meta_key' => 'metadata_type'],
['meta_key' => 'metadatum_type'],
'%s', '%s');
-
+
$wpdb->update($wpdb->postmeta,
['meta_key' => 'metadata_type_options'],
['meta_key' => 'metadatum_type_options'],
@@ -204,8 +204,8 @@ class Migrations {
['meta_value' => 'Tainacan\Metadata_Types\Compound'],
['meta_value' => 'Tainacan\Field_Types\Compound'],
'%s', '%s');
-
-
+
+
$wpdb->update($wpdb->postmeta,
['meta_value' => 'Tainacan\Metadata_Types\Core_Description'],
['meta_value' => 'Tainacan\Metadatum_Types\Core_Description'],
@@ -245,7 +245,7 @@ class Migrations {
['meta_value' => 'Tainacan\Metadata_Types\Relationship'],
['meta_value' => 'Tainacan\Metadatum_Types\Relationship'],
'%s', '%s');
-
+
$wpdb->update($wpdb->postmeta,
['meta_value' => 'Tainacan\Metadata_Types\Compound'],
['meta_value' => 'Tainacan\Metadatum_Types\Compound'],
@@ -255,7 +255,7 @@ class Migrations {
['meta_value' => 'Tainacan\Metadata_Types\Taxonomy'],
['meta_value' => 'Tainacan\Metadatum_Types\Category'],
'%s', '%s');
-
+
$wpdb->update($wpdb->postmeta,
['meta_value' => 'Tainacan\Metadata_Types\Taxonomy'],
['meta_value' => 'Tainacan\Metadata_Types\Category'],
@@ -289,20 +289,20 @@ class Migrations {
// update input type
$wpdb->query("UPDATE $wpdb->postmeta SET meta_value = REPLACE(meta_value, 'tainacan-taxonomy-selectbox', 'tainacan-taxonomy-radio')");
}
-
+
static function update_core_metadata() {
global $wpdb;
$collections = \Tainacan\Repositories\Collections::get_instance()->fetch([], 'OBJECT');
-
+
foreach ($collections as $collection) {
- // get title
+ // get title
$title_meta = $collection->get_core_title_metadatum();
// delete metadata if exists
$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->postmeta WHERE meta_key = %s", $title_meta->get_id() ));
// create metadata
- $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta
+ $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta
(post_id,meta_key,meta_value)
SELECT ID, %s, post_title FROM $wpdb->posts WHERE post_type = %s
", $title_meta->get_id(), $collection->get_db_identifier() ));
@@ -314,7 +314,7 @@ class Migrations {
$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->postmeta WHERE meta_key = %s", $description_meta->get_id() ));
// create metadata
- $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta
+ $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta
(post_id,meta_key,meta_value)
SELECT ID, %s, post_content FROM $wpdb->posts WHERE post_type = %s
", $description_meta->get_id(), $collection->get_db_identifier() ));
@@ -324,46 +324,46 @@ class Migrations {
static function refresh_rewrite_rules() {
// needed after we changed the Collections post type rewrite slug
-
+
$option_name = '_migration_refresh_rewrite_rules_items';
if (!get_option($option_name)) {
return; // avoid running twice cause there is the same update right below this one
}
-
+
flush_rewrite_rules(false);
}
-
+
static function refresh_rewrite_rules_items() {
// needed after we added the /items rewrite rule
flush_rewrite_rules(false);
}
-
+
static function update_filters_definition() {
global $wpdb;
-
+
$wpdb->query("UPDATE $wpdb->postmeta SET meta_key = 'metadatum_id' WHERE
meta_key = 'metadatum' AND post_id IN (
SELECT ID FROM $wpdb->posts WHERE post_type = 'tainacan-filter'
)");
-
+
}
-
+
static function update_repository_filters_meta() {
global $wpdb;
-
+
$wpdb->query( "UPDATE $wpdb->postmeta SET meta_value = 'default' WHERE
post_id IN (
SELECT ID FROM $wpdb->posts WHERE post_type = 'tainacan-filter'
- ) AND meta_key = 'collection_id' AND meta_value = 'filter_in_repository'"
+ ) AND meta_key = 'collection_id' AND meta_value = 'filter_in_repository'"
);
}
static function update_relationship_metadata_search_option() {
global $wpdb;
-
+
$q = "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'metadata_type' AND meta_value = 'Tainacan\\\\Metadata_Types\\\\Relationship'";
-
+
$ids = $wpdb->get_col($q);
foreach ($ids as $id) {
@@ -373,11 +373,54 @@ class Migrations {
update_post_meta($id, 'metadata_type_options', $meta);
}
}
-
+
}
-
+
+ static function replace_custom_interval_filters() {
+ $tainacan_filters = \Tainacan\Repositories\Filters::get_instance();
+ $filters = $tainacan_filters->fetch([
+ 'nopaging' => true,
+ 'filter_type' => 'Tainacan\Filter_Types\Custom_Interval',
+ 'post_status' => 'any'
+ ], 'OBJECT');
+
+ foreach ($filters as $filter) {
+ $meta = $filter->get_metadatum();
+ #echo 'found filter:' . $filter->get_name(). "
";
+ if ($meta instanceof \Tainacan\Entities\Metadatum) {
+ $type = $meta->get_metadata_type();
+ #echo 'found meta:' . $meta->get_name(). "
";
+ #echo 'found meta:' . $meta->get_metadata_type(). "
";
+
+ $newtype = false;
+ if ( $type == 'Tainacan\Metadata_Types\Date' ) {
+ $newtype = 'Tainacan\Filter_Types\Date_Interval';
+ } elseif ( $type == 'Tainacan\Metadata_Types\Numeric' ) {
+ $newtype = 'Tainacan\Filter_Types\Numeric_Interval';
+ }
+
+ #echo 'New type:' . $newtype. "
";
+
+ if ($newtype) {
+ $filter->set_filter_type($newtype);
+ if ($filter->validate()) {
+ #echo "INSERT\n\n";
+ $tainacan_filters->insert($filter);
+ }
+
+ }
+
+ }
+
+
+
+
+ }
+
+ }
+
}
-?>
\ No newline at end of file
+?>
diff --git a/tests/test-api-filters.php b/tests/test-api-filters.php
index 0f8be513e..03bebda5a 100644
--- a/tests/test-api-filters.php
+++ b/tests/test-api-filters.php
@@ -3,7 +3,7 @@
namespace Tainacan\Tests;
/**
- * @group api
+ * @group api
*/
class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
@@ -33,7 +33,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
$request_body = json_encode(
array(
- 'filter_type' => '\Tainacan\Filter_Types\Custom_Interval',
+ 'filter_type' => 'Tainacan\Filter_Types\Numeric_Interval',
'filter' => [
'name' => 'Filter name',
'description' => 'This is CUSTOM INTERVAL!',
@@ -49,7 +49,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
$data = $response->get_data();
$this->assertTrue(is_array($data) && array_key_exists('filter_type', $data), sprintf('cannot create a custom interval, response: %s', print_r($data, true)));
- $this->assertEquals('Tainacan\Filter_Types\Custom_Interval', $data['filter_type']);
+ $this->assertEquals('Tainacan\Filter_Types\Numeric_Interval', $data['filter_type']);
$this->assertEquals('Filter name', $data['name']);
}
@@ -82,7 +82,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
'collection' => $collection,
'description' => 'descricao',
'metadatum_id' => $metadatum->get_id(),
- 'filter_type' => 'Tainacan\Filter_Types\Custom_Interval',
+ 'filter_type' => 'Tainacan\Filter_Types\Numeric_Interval',
),
true
);
@@ -143,8 +143,6 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
true
);
- $filter_type = $this->tainacan_filter_factory->create_filter('custom_interval');
-
$filter = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -152,7 +150,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
'collection' => $collection,
'description' => 'descricao',
'metadatum_id' => $metadatum->get_id(),
- 'filter_type' => $filter_type,
+ 'filter_type' => 'Tainacan\Filter_Types\Numeric_Interval',
),
true
);
@@ -209,8 +207,6 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
true
);
- $filter_type = $this->tainacan_filter_factory->create_filter('custom_interval');
-
$filter = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -218,7 +214,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
'collection' => $collection,
'description' => 'descricao',
'metadatum' => $metadatum,
- 'filter_type' => $filter_type,
+ 'filter_type' => 'Tainacan\Filter_Types\Numeric_Interval',
'status' => 'publish'
),
true
@@ -231,7 +227,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
'collection' => $collection,
'description' => 'descricao',
'metadatum' => $metadatum2,
- 'filter_type' => $filter_type,
+ 'filter_type' => 'Tainacan\Filter_Types\Numeric_Interval',
'status' => 'publish'
),
true
@@ -366,9 +362,9 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
$this->assertCount(2, $data4);
//$this->assertEquals('4x Filter', $data4[0]['name']);
}
-
+
public function test_return_filter_type_options_in_get_item() {
-
+
$collection1 = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -377,7 +373,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$meta = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -388,7 +384,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$filter_numeric = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -403,7 +399,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$request = new \WP_REST_Request(
'GET',
$this->namespace . '/filters/' . $filter_numeric->get_id()
@@ -416,11 +412,11 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
$this->assertEquals($filter_numeric->get_id(), $data['id']);
$this->assertEquals('numeric', $data['name']);
$this->assertEquals(3, $data['filter_type_options']['step']);
-
+
}
-
+
public function test_return_filter_type_options_in_get_items() {
-
+
$collection1 = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -429,7 +425,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$meta = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -440,7 +436,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$filter_numeric = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -455,7 +451,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$request = new \WP_REST_Request(
'GET',
$this->namespace . '/collection/' . $collection1->get_id() . '/filters'
@@ -464,7 +460,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
$response = $this->server->dispatch($request);
$data = $response->get_data();
-
+
//var_dump($data, $this->namespace . '/collection/' . $collection2->get_id() . '/metadata/');
foreach ($data as $d) {
if ($d['id'] == $filter_numeric->get_id()) {
@@ -472,15 +468,15 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
break;
}
}
-
+
$this->assertEquals($filter_numeric->get_id(), $meta['id']);
$this->assertEquals('numeric', $meta['name']);
$this->assertEquals(3, $meta['filter_type_options']['step']);
-
+
}
-
+
public function test_return_filter_type_options_in_get_item_default_value() {
-
+
$collection1 = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -489,7 +485,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$meta = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -500,7 +496,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$filter_numeric = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -515,7 +511,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$request = new \WP_REST_Request(
'GET',
$this->namespace . '/filters/' . $filter_numeric->get_id()
@@ -529,11 +525,11 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
$this->assertEquals('numeric', $data['name']);
$this->assertEquals(1, $data['filter_type_object']['options']['step']);
$this->assertEquals(1, $data['filter_type_options']['step']);
-
+
}
-
+
public function test_return_metadata_type_options_inside_metadatum_property() {
-
+
$collection1 = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -542,7 +538,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$collection2 = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -551,9 +547,9 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$core1 = $collection1->get_core_title_metadatum();
-
+
$meta_relationship = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -569,7 +565,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$filter = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -581,7 +577,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
),
true
);
-
+
$request = new \WP_REST_Request(
'GET',
$this->namespace . '/filters/' . $filter->get_id()
@@ -595,9 +591,9 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
$this->assertEquals('yes', $data['metadatum']['metadata_type_object']['options']['repeated']);
$this->assertEquals($collection1->get_id(), $data['metadatum']['metadata_type_object']['options']['collection_id']);
$this->assertEquals($core1->get_id(), $data['metadatum']['metadata_type_object']['options']['search']);
-
+
}
-
+
}
-?>
\ No newline at end of file
+?>
diff --git a/tests/test-filters.php b/tests/test-filters.php
index c97ade42d..4218db7cd 100644
--- a/tests/test-filters.php
+++ b/tests/test-filters.php
@@ -78,7 +78,7 @@ class Filters extends TAINACAN_UnitTestCase {
true
);
- $filter_range_type = $this->tainacan_filter_factory->create_filter('custom_interval');
+ $filter_range_type = $this->tainacan_filter_factory->create_filter('Numeric_Interval');
//nao devera permitir um filtro Range para o tipo string
$this->assertTrue( $filter->set_filter_type( $filter_range_type ) === null );
@@ -97,7 +97,7 @@ class Filters extends TAINACAN_UnitTestCase {
$Tainacan_Filters = \Tainacan\Repositories\Filters::get_instance();
$all_filter_types = $Tainacan_Filters->fetch_filter_types();
- $this->assertEquals( 12, count( $all_filter_types ) );
+ $this->assertEquals( 11, count( $all_filter_types ) );
$float_filters = $Tainacan_Filters->fetch_supported_filter_types('float');
$this->assertTrue( count( $float_filters ) > 0 );
@@ -150,12 +150,12 @@ class Filters extends TAINACAN_UnitTestCase {
$filter2->set_collection($collection);
$filter2->set_description('description');
$filter2->set_metadatum($metadatum2);
- $filter2->set_filter_type('Tainacan\Filter_Types\Custom_Interval');
+ $filter2->set_filter_type('Tainacan\Filter_Types\Numeric_Interval');
$this->assertFalse($filter2->validate(), 'filter with a metadatum with unsupported primitive type should not validate');
}
-
+
/**
* test if parent metadatum are visible for children collection
*/
@@ -173,7 +173,7 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -282,14 +282,14 @@ class Filters extends TAINACAN_UnitTestCase {
);
$retrieve_filters = $Tainacan_Filters->fetch_by_collection( $collection_son, [], 'OBJECT' );
-
+
$retrieve_filters_ids = $Tainacan_Filters->fetch_ids_by_collection( $collection_son, [] );
// should return 4
$this->assertEquals( 4, sizeof( $retrieve_filters ) );
$this->assertEquals( 4, sizeof( $retrieve_filters_ids ) );
}
-
+
function test_metadatum_getter_setter(){
$Tainacan_Filters = \Tainacan\Repositories\Filters::get_instance();
@@ -319,29 +319,29 @@ class Filters extends TAINACAN_UnitTestCase {
$filter2->set_description('description');
$filter2->set_metadatum($metadatum2);
$filter2->set_filter_type('Tainacan\Filter_Types\Selectbox');
-
+
$filter2->validate();
-
+
$filter = $Tainacan_Filters->insert($filter2);
-
+
$this->assertEquals($metadatum2->get_id(), $filter->get_metadatum_id());
$this->assertEquals($metadatum2->get_name(), $filter->get_metadatum()->get_name());
-
-
+
+
$filter3 = new \Tainacan\Entities\Filter();
$filter3->set_name('filter 3');
$filter3->set_collection($collection);
$filter3->set_description('description');
$filter3->set_metadatum_id($metadatum2->get_id());
$filter3->set_filter_type('Tainacan\Filter_Types\Selectbox');
-
+
$filter3->validate();
-
+
$filter = $Tainacan_Filters->insert($filter3);
-
+
$this->assertEquals($metadatum2->get_id(), $filter->get_metadatum_id());
$this->assertEquals($metadatum2->get_name(), $filter->get_metadatum()->get_name());
-
+
$metadatum3 = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -352,27 +352,27 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$filter4 = new \Tainacan\Entities\Filter();
$filter4->set_name('filter 4');
-
+
$filter4->set_metadatum_id($metadatum3->get_id());
$this->assertEquals($metadatum3->get_id(), $filter4->get_metadatum_id());
$this->assertEquals($metadatum3->get_name(), $filter4->get_metadatum()->get_name());
-
+
$filter4->set_metadatum($metadatum2);
$this->assertEquals($metadatum2->get_id(), $filter4->get_metadatum_id());
$this->assertEquals($metadatum2->get_name(), $filter4->get_metadatum()->get_name());
-
-
+
+
}
-
-
+
+
function test_delete_filter_when_metadata_deleted() {
-
+
$Tainacan_Filters = \Tainacan\Repositories\Filters::get_instance();
$Tainacan_Metadata = \Tainacan\Repositories\Metadata::get_instance();
-
+
$collection = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -381,7 +381,7 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$metadatum2 = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -392,7 +392,7 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$filter = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -404,20 +404,20 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$Tainacan_Metadata->delete($metadatum2);
-
+
$x = $Tainacan_Filters->fetch( $filter->get_id() );
-
+
$this->assertEmpty($x);
-
+
}
-
+
function test_trash_filter_when_metadata_trashed() {
-
+
$Tainacan_Filters = \Tainacan\Repositories\Filters::get_instance();
$Tainacan_Metadata = \Tainacan\Repositories\Metadata::get_instance();
-
+
$collection = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -426,7 +426,7 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$metadatum2 = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -437,7 +437,7 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$filter = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -449,20 +449,20 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$Tainacan_Metadata->trash($metadatum2);
-
+
$x = $Tainacan_Filters->fetch( $filter->get_id() );
-
+
$this->assertEquals('trash', $x->get_status());
-
+
}
-
+
function test_private_metadatum() {
-
+
$Tainacan_Filters = \Tainacan\Repositories\Filters::get_instance();
$Tainacan_Metadata = \Tainacan\Repositories\Metadata::get_instance();
-
+
$collection = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -471,7 +471,7 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$metadatum2 = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -483,27 +483,27 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$filter = new \Tainacan\Entities\Filter();
$filter->set_name('teste');
$filter->set_metadatum($metadatum2);
$filter->set_status('publish');
-
+
$this->assertFalse($filter->validate());
$this->assertArrayHasKey('status', $filter->get_errors()[0]);
-
+
$filter->set_status('private');
-
+
$this->assertTrue($filter->validate());
-
-
+
+
}
function test_private_metadatum_update() {
-
+
$Tainacan_Filters = \Tainacan\Repositories\Filters::get_instance();
$Tainacan_Metadata = \Tainacan\Repositories\Metadata::get_instance();
-
+
$collection = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@@ -512,7 +512,7 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$metadatum2 = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
@@ -524,7 +524,7 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$filter = $this->tainacan_entity_factory->create_entity(
'filter',
array(
@@ -537,18 +537,18 @@ class Filters extends TAINACAN_UnitTestCase {
),
true
);
-
+
$this->assertEquals('publish', $filter->get_status());
-
+
$metadatum2->set_status('private');
$metadatum2->validate();
$Tainacan_Metadata->insert($metadatum2);
-
+
$check_filter = $Tainacan_Filters->fetch( $filter->get_id() );
-
+
$this->assertEquals('private', $check_filter->get_status());
-
+
}
-
-}
\ No newline at end of file
+
+}