Jake Vanderwerf
2 days ago 235ce5716edc2f7cbe80fdccf26eac7269587839
inc/managers/CRUDManager.php
@@ -1,6 +1,7 @@
<?php
namespace JVBase\managers;
use JVBase\base\Site;
use JVBase\registrar\Registrar;
use JVBase\ui\CRUDSkeleton;
@@ -63,19 +64,22 @@
      // Fields and sections
      $this->skeleton->setFields($this->registrar->getFields());
      foreach ($this->registrar->getSections() as $config) {
         $this->skeleton->addSection($config['id'], $config);
      }
        $sections = $this->registrar->getSections();
        if (count($sections) > 1) {
            foreach ($sections as $config) {
                $this->skeleton->addSection($config['slug'], $config);
            }
        }
      // Taxonomies
      $this->initTaxonomies();
      // Statuses
      if ($this->registrar && $this->registrar->hasFeature('is_calendar')) {
      if ($this->registrar->hasFeature('is_calendar')) {
         $this->skeleton->setCalendar();
      }
      if ($this->registrar && $this->registrar->getType() === 'post') {
      if ($this->registrar->getType() === 'post') {
         $this->skeleton->setDefaultStatus();
      } else {
         $this->skeleton->setStatuses([]);
@@ -99,7 +103,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
@@ -122,6 +126,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
    */
@@ -178,7 +187,7 @@
   protected function addDateRanges():array
   {
      return $this->cache->remember(
      return $this->cache->user()->remember(
         'dateRanges',
         function() {
            $postType = jvbCheckBase($this->content);