Example #1
0
 /**
  * Set erp_hr_manager role for admin user
  *
  * @since 0.1
  *
  * @return void
  */
 public function set_role()
 {
     $admins = get_users(array('role' => 'administrator'));
     if ($admins) {
         foreach ($admins as $user) {
             $user->add_role(erp_hr_get_manager_role());
         }
     }
 }
Example #2
0
<div class="permission-tab-wrap">
    <h3><?php 
_e('Permission Management', 'wp-erp');
?>
</h3>

    <form action="" class="permission-form erp-form" method="post">

        <?php 
$is_manager = user_can($employee->id, erp_hr_get_manager_role()) ? 'on' : 'off';
erp_html_form_input(array('label' => __('Manager', 'wp-erp'), 'name' => 'enable_manager', 'type' => 'checkbox', 'tag' => 'div', 'value' => $is_manager, 'help' => __('This Employee is Manager', 'wp-erp')));
?>

        <input type="hidden" name="employee_id" value="<?php 
echo $employee->id;
?>
">
        <input type="hidden" name="erp-action" id="erp-employee-action" value="erp-hr-employee-permission">

        <?php 
wp_nonce_field('wp-erp-hr-employee-permission-nonce');
?>
        <?php 
submit_button(__('Update Permission', 'wp-erp'), 'primary');
?>
    </form>

</div>
Example #3
0
 /**
  * Employee Permission Management
  *
  * @since 0.1
  *
  * @return void
  */
 public function employee_permission()
 {
     if (!wp_verify_nonce($_POST['_wpnonce'], 'wp-erp-hr-employee-permission-nonce')) {
         return;
     }
     $hr_manager_role = erp_hr_get_manager_role();
     if (!current_user_can($hr_manager_role)) {
         wp_die(__('Permission Denied!', 'wp-erp'));
     }
     $employee_id = isset($_POST['employee_id']) ? intval($_POST['employee_id']) : 0;
     $enable_manager = isset($_POST['enable_manager']) ? sanitize_text_field($_POST['enable_manager']) : 'off';
     if (!in_array($enable_manager, ['on', 'off'])) {
         return;
     }
     $user = get_user_by('id', $employee_id);
     if ('on' == $enable_manager && !user_can($user, $hr_manager_role)) {
         $user->add_role($hr_manager_role);
     } else {
         if ('off' == $enable_manager && user_can($user, $hr_manager_role)) {
             $user->remove_role($hr_manager_role);
         }
     }
 }
/**
 * When a new administrator is created, make him HR Manager by default
 *
 * @param  int  $user_id
 *
 * @return void
 */
function erp_hr_new_admin_as_manager($user_id)
{
    $user = get_user_by('id', $user_id);
    $role = reset($user->roles);
    if ('administrator' == $role) {
        $user->add_role(erp_hr_get_manager_role());
    }
}