Setup capabilities for Emmet County Emp Plugin feature/empCapabilities
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 27 Nov 2015 13:48:34 +0000 (08:48 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 27 Nov 2015 13:48:34 +0000 (08:48 -0500)
controllers/admin.php
index.php
models/job.php

index 73b24ac..3720849 100644 (file)
@@ -28,9 +28,20 @@ class emmet_employment_admin
         $this->pluginDirName = $path;
         $this->wpdb = $wpdb;
         $jobs = new emmet_employment_job($path);
+        add_action('admin_init', array($this, 'emmet_jobs_add_role_caps'));
         //add_action('admin_menu', array($this, 'add_job_menus'));
     }
 
+    public function emmet_jobs_add_role_caps()
+    {
+        $roles = array('manager', 'editor', 'administrator');
+
+        foreach ($roles as $the_role) {
+            $role = get_role($the_role);
+            $role->add_cap( EMMET_EMP_CAPABILITY );
+        }
+    }
+
     /**
      * Add job menus
      */
index d9c2033..89a82a1 100644 (file)
--- a/index.php
+++ b/index.php
@@ -16,10 +16,12 @@ define('EMMET_EMP_PLUGIN_PATH_FILE', __FILE__);
 define('EMMET_EMP_VERSION', '0.0.1');
 define('EMMET_EMP_VRS_OPTION_NAME', 'emmet_jobs_db_version');
 define('EMMET_EMP_POST_TYPE', 'emmet_jobs');
+define('EMMET_EMP_CAPABILITY', 'emmet_job');
 define('EMMET_EMP_TAX_CATEGORIES', 'emmet_jobscategory');
 define('EMMET_EMP_TAX_DEPARTMENTS', 'emmet_jobsdepartment');
 define('EMMET_EMP_APPLICATION_TABLE', 'emmet_jobs_application');
 define('EMMET_EMP_FORM_TABLE', 'emmet_jobs_app_form');
+
 $wp_upload_dir = wp_upload_dir();
 define('EMMET_EMP_UPLOAD_DIR', $wp_upload_dir['basedir'] . '/emmet-emp/');
 define('EMMET_EMP_UPLOAD_URL', $wp_upload_dir['baseurl'] . '/emmet-emp/');
index 6f47b9c..eb97017 100644 (file)
@@ -341,7 +341,8 @@ class emmet_employment_job
             'supports'        => array('title', 'editor'),
             'has_archive'     => true,
             'menu_icon'       => 'dashicons-businessman',
-            'capability_type' => 'post',
+            'capability_type' => EMMET_EMP_CAPABILITY,
+            'map_meta_cap'    => true,
             'hierarchical'    => false,
             'rewrite'         => array('slug' => 'jobs'),
             'taxonomies'      => array(EMMET_EMP_TAX_CATEGORIES, EMMET_EMP_TAX_DEPARTMENTS),
@@ -436,7 +437,13 @@ class emmet_employment_job
             'query_var'         => EMMET_EMP_TAX_CATEGORIES,
             'rewrite'           => array('slug' => EMMET_EMP_TAX_CATEGORIES),
             'show_admin_column' => true,
-            '_builtin'          => true
+            '_builtin'          => true,
+            'capabilities'      => array(
+                'manage_terms' => EMMET_EMP_CAPABILITY,
+                'edit_terms'   => EMMET_EMP_CAPABILITY,
+                'delete_terms' => EMMET_EMP_CAPABILITY,
+                'assign_terms' => EMMET_EMP_CAPABILITY,
+            )
         ));
 
         $labels = array(
@@ -467,6 +474,12 @@ class emmet_employment_job
             'show_ui'      => true,
             'query_var'    => EMMET_EMP_TAX_DEPARTMENTS,
             'rewrite'      => array('slug' => EMMET_EMP_TAX_DEPARTMENTS),
+            'capabilities'      => array(
+                'manage_terms' => EMMET_EMP_CAPABILITY,
+                'edit_terms'   => EMMET_EMP_CAPABILITY,
+                'delete_terms' => EMMET_EMP_CAPABILITY,
+                'assign_terms' => EMMET_EMP_CAPABILITY,
+            )
         ));
     }