function extra_tablenav($which) { if ($which != 'top') { return; } $filter_by_year = isset($_REQUEST['filter_by_year']) ? $_REQUEST['filter_by_year'] : ''; $date = \WeDevs\ERP\HRM\Models\Leave_Entitlement::select('to_date')->distinct()->get()->toArray(); ?> <div class="alignleft actions"> <label class="screen-reader-text" for="filter_by_year"><?php _e('Filter by Year', 'wp-erp'); ?> </label> <select name="filter_by_year" id="filter_by_year"> <?php foreach ($date as $year) { ?> <?php $year_val = date('Y', strtotime($year['to_date'])); ?> <option value="<?php echo $year_val; ?> " <?php selected($filter_by_year, $year_val); ?> ><?php echo $year_val; ?> </option> <?php } ?> </select> <?php submit_button(__('Filter'), 'button', 'filter_entitlement', false); echo '</div>'; }
/** * Delete entitlement with leave request * * @since 0.1 * * @param integer $id * @param integer $user_id * @param integer $policy_id * * @return void */ function erp_hr_delete_entitlement($id, $user_id, $policy_id) { if (\WeDevs\ERP\HRM\Models\Leave_Entitlement::find($id)->delete()) { return \WeDevs\ERP\HRM\Models\Leave_request::where('user_id', '=', $user_id)->where('policy_id', '=', $policy_id)->delete(); } }
/** * Handle entitlement bulk actions * * @since 0.1 * * @return void */ public function entitlement_bulk_action() { if (!$this->verify_current_page_screen('erp-leave-assign', 'bulk-entitlements')) { return; } $employee_table = new \WeDevs\ERP\HRM\Entitlement_List_Table(); $action = $employee_table->current_action(); if ($action) { $redirect = remove_query_arg(array('_wp_http_referer', '_wpnonce', 'filter_entitlement'), wp_unslash($_SERVER['REQUEST_URI'])); if ($action == 'filter_entitlement') { wp_redirect($redirect); exit; } if ($action == 'entitlement_delete') { if (isset($_GET['entitlement_id']) && !empty($_GET['entitlement_id'])) { foreach ($_GET['entitlement_id'] as $key => $ent_id) { $entitlement_data = \WeDevs\ERP\HRM\Models\Leave_Entitlement::select('user_id', 'policy_id')->find($ent_id)->toArray(); erp_hr_delete_entitlement($ent_id, $entitlement_data['user_id'], $entitlement_data['policy_id']); } } wp_redirect($redirect); exit; } } }