feat: add collection requirement and fix status #184
This commit is contained in:
parent
572176f03a
commit
d6c38a33e7
|
@ -290,22 +290,6 @@ class REST_Metadata_Section_Controller extends REST_Controller {
|
||||||
$collection = new Entities\Collection( $collection_id );
|
$collection = new Entities\Collection( $collection_id );
|
||||||
|
|
||||||
$result = $this->metadatum_section_repository->fetch_by_collection( $collection, $args );
|
$result = $this->metadatum_section_repository->fetch_by_collection( $collection, $args );
|
||||||
} else {
|
|
||||||
$args = [
|
|
||||||
'meta_query' => [
|
|
||||||
[
|
|
||||||
'key' => 'collection_id',
|
|
||||||
'value' => 'default',
|
|
||||||
'compare' => '='
|
|
||||||
]
|
|
||||||
]
|
|
||||||
];
|
|
||||||
|
|
||||||
if ($request['include_control_metadata_types'] === 'true') {
|
|
||||||
$args['include_control_metadata_types'] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = $this->metadatum_section_repository->fetch( $args, 'OBJECT' );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$prepared_item = [];
|
$prepared_item = [];
|
||||||
|
|
|
@ -124,6 +124,12 @@ class Metadatum_Section extends Entity {
|
||||||
$no_errors = true;
|
$no_errors = true;
|
||||||
$metadatum_list = $this->get_metadatum_list();
|
$metadatum_list = $this->get_metadatum_list();
|
||||||
$name = $this->get_name();
|
$name = $this->get_name();
|
||||||
|
$collection = $this->get_collection();
|
||||||
|
|
||||||
|
if( empty($collection) ) {
|
||||||
|
$this->add_error($this->get_id(), __("collection is required", 'tainacan'));
|
||||||
|
$no_errors = false;
|
||||||
|
}
|
||||||
|
|
||||||
if ( !isset($name) ) {
|
if ( !isset($name) ) {
|
||||||
$this->add_error($this->get_id(), __("name is required", 'tainacan'));
|
$this->add_error($this->get_id(), __("name is required", 'tainacan'));
|
||||||
|
@ -137,6 +143,9 @@ class Metadatum_Section extends Entity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if($no_errors) {
|
||||||
|
$this->set_as_valid();
|
||||||
|
}
|
||||||
return $no_errors;
|
return $no_errors;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ class Metadata_Section extends Repository {
|
||||||
'map' => 'post_status',
|
'map' => 'post_status',
|
||||||
'title' => __( 'Status', 'tainacan' ),
|
'title' => __( 'Status', 'tainacan' ),
|
||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'default' => 'public',
|
'default' => 'publish',
|
||||||
'description' => __( 'Status', 'tainacan' )
|
'description' => __( 'Status', 'tainacan' )
|
||||||
],
|
],
|
||||||
'description' => [
|
'description' => [
|
||||||
|
@ -233,8 +233,7 @@ class Metadata_Section extends Repository {
|
||||||
|
|
||||||
// Add public states.
|
// Add public states.
|
||||||
$statuses = get_post_stati( array( 'public' => true ) );
|
$statuses = get_post_stati( array( 'public' => true ) );
|
||||||
|
$read_private_cap = 'tnc_col_' . $parent_id . '_read_private_metadata_section';
|
||||||
$read_private_cap = $this->get_default_metadata_attribute() == $parent_id ? 'tnc_rep_read_private_metadata_section' : 'tnc_col_' . $parent_id . '_read_private_metadata_section';
|
|
||||||
if ( current_user_can($read_private_cap) ) {
|
if ( current_user_can($read_private_cap) ) {
|
||||||
$statuses = array_merge( $statuses, get_post_stati( array( 'private' => true ) ) );
|
$statuses = array_merge( $statuses, get_post_stati( array( 'private' => true ) ) );
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue