feat(07-01): implement complete job management workflow

Adds comprehensive job submission, editing, and deactivation functionality with proper form handling and permissions. Includes administrator capabilities for job_offer management and fixed dashboard navigation.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-17 19:49:21 +09:00
parent 1ed164aed0
commit 737f3d6fe9
4 changed files with 695 additions and 7 deletions

View File

@@ -50,6 +50,24 @@ class DDHH_JM_Roles {
'manage_options' => false,
)
);
// Grant job_offer capabilities to administrator
$admin_role = get_role( 'administrator' );
if ( $admin_role ) {
$admin_role->add_cap( 'edit_job_offer' );
$admin_role->add_cap( 'read_job_offer' );
$admin_role->add_cap( 'delete_job_offer' );
$admin_role->add_cap( 'edit_job_offers' );
$admin_role->add_cap( 'edit_others_job_offers' );
$admin_role->add_cap( 'publish_job_offers' );
$admin_role->add_cap( 'read_private_job_offers' );
$admin_role->add_cap( 'delete_job_offers' );
$admin_role->add_cap( 'delete_private_job_offers' );
$admin_role->add_cap( 'delete_published_job_offers' );
$admin_role->add_cap( 'delete_others_job_offers' );
$admin_role->add_cap( 'edit_private_job_offers' );
$admin_role->add_cap( 'edit_published_job_offers' );
}
}
/**
@@ -58,5 +76,23 @@ class DDHH_JM_Roles {
*/
public static function remove_roles() {
remove_role( 'ddhh_provider' );
// Remove job_offer capabilities from administrator
$admin_role = get_role( 'administrator' );
if ( $admin_role ) {
$admin_role->remove_cap( 'edit_job_offer' );
$admin_role->remove_cap( 'read_job_offer' );
$admin_role->remove_cap( 'delete_job_offer' );
$admin_role->remove_cap( 'edit_job_offers' );
$admin_role->remove_cap( 'edit_others_job_offers' );
$admin_role->remove_cap( 'publish_job_offers' );
$admin_role->remove_cap( 'read_private_job_offers' );
$admin_role->remove_cap( 'delete_job_offers' );
$admin_role->remove_cap( 'delete_private_job_offers' );
$admin_role->remove_cap( 'delete_published_job_offers' );
$admin_role->remove_cap( 'delete_others_job_offers' );
$admin_role->remove_cap( 'edit_private_job_offers' );
$admin_role->remove_cap( 'edit_published_job_offers' );
}
}
}