starting refactor of repository filter meta #261

This commit is contained in:
Leo Germani 2019-09-30 18:00:44 -03:00
parent b3376c7a71
commit 7f79e64887
5 changed files with 16 additions and 6 deletions

View File

@ -148,7 +148,7 @@ class REST_Filters_Controller extends REST_Controller {
$filter_obj->set_metadatum_id($body['metadatum_id']);
} else {
$filter_obj->set_collection_id( 'filter_in_repository' );
$filter_obj->set_collection_id( 'default' );
if(!isset($body['metadatum_id'])){
throw new \InvalidArgumentException('You need provide a metadatum id');
@ -375,7 +375,7 @@ class REST_Filters_Controller extends REST_Controller {
if(!isset($request['collection_id'])) {
$args['meta_query'][] = [
'key' => 'collection_id',
'value' => 'filter_in_repository',
'value' => 'default',
'compare' => '='
];

View File

@ -365,7 +365,7 @@ class Filters extends Repository {
$parents[] = $collection_id;
//search for default metadatum
$parents[] = 'filter_in_repository';
$parents[] = 'default';
$meta_query = array(
'key' => 'collection_id',
@ -416,7 +416,7 @@ class Filters extends Repository {
$parents[] = $collection_id;
//search for default metadatum
$parents[] = 'filter_in_repository';
$parents[] = 'default';
$meta_query = array(
'key' => 'collection_id',

View File

@ -348,6 +348,16 @@ class Migrations {
}
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'" );
}
}

View File

@ -321,7 +321,7 @@ class TAINACAN_REST_Terms_Controller extends TAINACAN_UnitApiTestCase {
$data = $response_create->get_data();
$this->assertEquals('filter_in_repository', $data['collection_id']);
$this->assertEquals('default', $data['collection_id']);
#### CREATE A FILTER IN COLLECTION WITHOUT METADATUM ASSOCIATION ####

View File

@ -178,7 +178,7 @@ class Filters extends TAINACAN_UnitTestCase {
'filter',
array(
'name' => 'filter default',
'collection_id' => 'filter_in_repository',
'collection_id' => 'default',
'filter_type' => 'Tainacan\Filter_Types\Selectbox',
'metadatum_id' => $meta_repo->get_id(),
'status' => 'publish'