From d7e7d248cbe41cd7a9ef9c2fb022b6c4831f99a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 31 May 2026 15:22:56 +0000
Subject: [PATCH] =jakevan complete
---
inc/managers/CRUDManager.php | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/inc/managers/CRUDManager.php b/inc/managers/CRUDManager.php
index 7ad84df..badcd6d 100644
--- a/inc/managers/CRUDManager.php
+++ b/inc/managers/CRUDManager.php
@@ -1,6 +1,7 @@
<?php
namespace JVBase\managers;
+use JVBase\base\Site;
use JVBase\registrar\Registrar;
use JVBase\ui\CRUDSkeleton;
@@ -71,11 +72,16 @@
$this->initTaxonomies();
// Statuses
- if ($this->registrar && $this->registrar->hasFeature('is_calendar')) {
+ if ($this->registrar->hasFeature('is_calendar')) {
$this->skeleton->setCalendar();
}
- $this->skeleton->setDefaultStatus();
+ if ($this->registrar->getType() === 'post') {
+ $this->skeleton->setDefaultStatus();
+ } else {
+ $this->skeleton->setStatuses([]);
+ }
+
// Views
$this->skeleton
@@ -94,7 +100,7 @@
$this->skeleton->addCapabilities(['view', 'edit', 'create', 'delete']);
$plural = strtolower($this->registrar->getPlural() ?? $this->content . 's');
- $canPublish = jvbUserIsVerified() && user_can($this->user_id, "publish_{$plural}");
+ $canPublish = $this->userIsVerified() && user_can($this->user_id, "publish_{$plural}");
$this->skeleton->userCanPublish($canPublish);
// Bulk actions
@@ -117,6 +123,11 @@
add_filter('jvbAdditionalActions', [$this, 'createItem']);
}
+ protected function userIsVerified():bool {
+ $membership = Site::membership();
+
+ return !($membership && $membership->has('member_verified')) || current_user_can('skip_moderation');
+ }
/**
* Setup uploader configuration
*/
@@ -154,7 +165,7 @@
* Initialize taxonomies from WordPress config
*/
protected function initTaxonomies(): void {
- $this->taxonomies = $this->registrar->registrar->taxonomies;
+ $this->taxonomies = ($this->registrar->getType() === 'post') ? $this->registrar->registrar->taxonomies : [];
}
/**
--
Gitblit v1.10.0