From 16a40188c4507072eaa6fca883271c5a64469677 Mon Sep 17 00:00:00 2001 From: Nurul Umbhiya Date: Mon, 3 Feb 2020 11:39:30 +0600 Subject: [PATCH 1/5] added structure for leave requests seeder --- includes/class-hr-leaves-seeder.php | 78 +++++++++++++++++++++++++++++ includes/tools-page.php | 6 ++- plugin.php | 15 ++++-- 3 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 includes/class-hr-leaves-seeder.php diff --git a/includes/class-hr-leaves-seeder.php b/includes/class-hr-leaves-seeder.php new file mode 100644 index 0000000..8a65be7 --- /dev/null +++ b/includes/class-hr-leaves-seeder.php @@ -0,0 +1,78 @@ +count = $count; + } + + /** + * Run the seeder functions + * + * @return void + */ + public function run() { + $this->truncate_all(); + $this->policies_datas(); + $this->entitlement_datas(); + } + + /** + * Delete employees and clear the table + * + * @return void + */ + public function truncate_all() { + global $wpdb; + + // truncate the tables + $tables = [ 'leave_policies', 'leave_entitlements', 'leave_requests', 'hr_leaves', 'user_leaves' ]; + + foreach ($tables as $table) { + $wpdb->query( 'TRUNCATE TABLE ' . $wpdb->prefix . $table ); + } + } + + /** + * Use this method as seeder for leave request + */ + protected function leave_request_datas() { + $this->leave_request_datas = [ + + ]; + } + + protected function policies_datas() { + global $wpdb; + + $this->policies = [ + + ]; + + //create policies datas here + + } + + + protected function create_entitlements() { + //grab policie ids + + //grab user ids + + //insert datas to entitlements table + + } + + protected function create_leave_requests() { + //get policy id, user id, data from $this->leave_request_datas, then insert into table + } + + +} diff --git a/includes/tools-page.php b/includes/tools-page.php index 18de608..0246be3 100644 --- a/includes/tools-page.php +++ b/includes/tools-page.php @@ -18,9 +18,13 @@

+

+ + +

- \ No newline at end of file + diff --git a/plugin.php b/plugin.php index 8a43fab..4e8b7ee 100644 --- a/plugin.php +++ b/plugin.php @@ -22,6 +22,7 @@ class WeDevs_ERP_Seeder { private $faker; private $employee_count; private $customer_count; + private $create_leaves; /** * Constructor @@ -70,8 +71,9 @@ public static function init() { public function file_includes() { include_once __DIR__ . '/includes/class-hr-seeder.php'; include_once __DIR__ . '/includes/class-crm-seeder.php'; + include_once __DIR__ . '/includes/class-hr-leaves-seeder.php'; - if ( defined( 'WP_CLI' ) && WP_CLI ) { + if ( defined( 'WP_CLI' ) && WP_CLI ) { include_once __DIR__ . '/includes/cli/class-commands.php'; } } @@ -90,8 +92,9 @@ public function add_settings_area() { */ function submit_tools_page() { if ( isset( $_POST['erp_generate_dummy_data'] ) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'erp-dummy-data-nonce' ) ) { - $this->employee_count = isset( $_POST['employee_number'] ) ? intval( $_POST['employee_number'] ) : 0; - $this->customer_count = isset( $_POST['customer_number'] ) ? intval( $_POST['customer_number'] ) : 0; + $this->employee_count = isset( $_POST['employee_number'] ) ? intval( $_POST['employee_number'] ) : 0; + $this->customer_count = isset( $_POST['customer_number'] ) ? intval( $_POST['customer_number'] ) : 0; + $this->create_leaves = isset( $_POST['create_leaves'] ) ? intval( $_POST['create_leaves'] ) : 0; $this->generate_data(); echo "

Done!

"; @@ -137,6 +140,10 @@ function generate_data() { if ( $this->customer_count > 0 ) { (new WeDevs_ERP_CRM_Seeder( $this->faker, $this->customer_count ))->run(); } + + if ( $this->create_leaves > 0 ) { + (new WeDevs_ERP_HR_Leaves_Seeder( $this->customer_count ))->run(); + } } } @@ -144,4 +151,4 @@ function erp_seeder() { return WeDevs_ERP_Seeder::init(); } -erp_seeder(); \ No newline at end of file +erp_seeder(); From f90b52d06d64599a64d79fc8f1cd64aa76ff98d5 Mon Sep 17 00:00:00 2001 From: Nadim Date: Mon, 3 Feb 2020 17:12:40 +0600 Subject: [PATCH 2/5] Add entitlements data --- includes/class-hr-leaves-seeder.php | 239 ++++++++++++++++++++++++++-- includes/tools-page.php | 2 +- 2 files changed, 228 insertions(+), 13 deletions(-) diff --git a/includes/class-hr-leaves-seeder.php b/includes/class-hr-leaves-seeder.php index 8a65be7..2f73c9b 100644 --- a/includes/class-hr-leaves-seeder.php +++ b/includes/class-hr-leaves-seeder.php @@ -21,7 +21,7 @@ function __construct( $count ) { public function run() { $this->truncate_all(); $this->policies_datas(); - $this->entitlement_datas(); + $this->create_entitlements(); } /** @@ -33,7 +33,14 @@ public function truncate_all() { global $wpdb; // truncate the tables - $tables = [ 'leave_policies', 'leave_entitlements', 'leave_requests', 'hr_leaves', 'user_leaves' ]; + $tables = [ + 'erp_hr_leave_policies', + 'erp_hr_leave_entitlements', + 'erp_hr_leave_requests', + 'erp_hr_leaves', + 'erp_user_leaves', + 'erp_hr_holiday' + ]; foreach ($tables as $table) { $wpdb->query( 'TRUNCATE TABLE ' . $wpdb->prefix . $table ); @@ -49,30 +56,238 @@ protected function leave_request_datas() { ]; } + /** + * Use this method as seeder for leave policy + */ protected function policies_datas() { - global $wpdb; - + global $wpdb; + $this->policies = [ + [ + 'name' => 'Annual leave', + 'value' => 5, + 'color' => '#8224e3', + 'department' => 2, + 'designation' => 5, + 'gender' => '-1', + 'marital' => '-1', + 'description' => 'Annual leave policy', + 'location' => '-1', + 'effective_date' => '2020-01-01 00:00:00', + 'activate' => 1, + 'execute_day' => 0, + 'created_at' => '2020-02-03 10:39:03', + 'updated_at' => '2020-02-03 10:39:03' + ], + [ + 'name' => 'Casual leave', + 'value' => 10, + 'color' => '#f90000', + 'department' => '-1', + 'designation' => '-1', + 'gender' => '-1', + 'marital' => '-1', + 'description' => 'Casual leave policy', + 'location' => '-1', + 'effective_date' => '2020-01-01 00:00:00', + 'activate' => 1, + 'execute_day' => 0, + 'created_at' => '2020-02-03 10:42:04', + 'updated_at' => '2020-02-03 10:42:04' + ], + [ + 'name' => 'Sick leave', + 'value' => 5, + 'color' => '#f54330', + 'department' => '-1', + 'designation' => '-1', + 'gender' => '-1', + 'marital' => '-1', + 'description' => 'Casual leave policy', + 'location' => '-1', + 'effective_date' => '2020-01-01 00:00:00', + 'activate' => 1, + 'execute_day' => 0, + 'created_at' => '2020-02-03 10:42:04', + 'updated_at' => '2020-02-03 10:42:04' + ], + [ + 'name' => 'Marriage leave', + 'value' => 5, + 'color' => '#f54330', + 'department' => '-1', + 'designation' => '-1', + 'gender' => '-1', + 'marital' => 'single', + 'description' => 'Marriage leave policy', + 'location' => '-1', + 'effective_date' => '2020-01-01 00:00:00', + 'activate' => 1, + 'execute_day' => 0, + 'created_at' => '2020-02-03 10:42:04', + 'updated_at' => '2020-02-03 10:42:04' + ], + [ + 'name' => 'Maternity leave', + 'value' => 84, + 'color' => '#0726c1', + 'department' => '-1', + 'designation' => '-1', + 'gender' => 'female', + 'marital' => 'married', + 'description' => 'Maternity leave policy', + 'location' => '-1', + 'effective_date' => '2020-01-01 00:00:00', + 'activate' => 1, + 'execute_day' => 0, + 'created_at' => '2020-02-03 10:55:28', + 'updated_at' => '2020-02-03 10:55:28' + ], + [ + 'name' => 'Paternity leave', + 'value' => 5, + 'color' => '#8726c1', + 'department' => '-1', + 'designation' => '-1', + 'gender' => 'male', + 'marital' => 'married', + 'description' => 'Paternity leave policy', + 'location' => '-1', + 'effective_date' => '2020-01-01 00:00:00', + 'activate' => 1, + 'execute_day' => 0, + 'created_at' => '2020-02-03 10:55:28', + 'updated_at' => '2020-02-03 10:55:28' + ] + ]; + + foreach( $this->policies as $policy ) { + $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_policies', $policy ); + } + } + + protected function create_entitlements() { + global $wpdb; - ]; + $current_user = get_current_user_id(); + $date_minus_1 = strtotime( date('Y-m-d') . ' -1 year' ); + $prev_year = date('Y', $date_minus_1); - //create policies datas here + $policies_id = [ + 'annual' => 1, + 'casual' => 2, + 'sick' => 3, + 'marriage' => 4, + 'maternity' => 5, + 'paternity' => 6 + ]; - } + $basic = [ + [ + 'policy_id' => $policies_id['annual'], + 'days' => 5, + 'comments' => 'An entitlement', + 'status' => 1, + 'created_by' => $current_user, + 'created_on' => date('Y-m-d h:i:s') + ], + [ + 'policy_id' => $policies_id['casual'], + 'days' => 10, + 'comments' => 'An entitlement', + 'status' => 1, + 'created_by' => $current_user, + 'created_on' => date('Y-m-d h:i:s') + ], + [ + 'policy_id' => $policies_id['sick'], + 'days' => 5, + 'comments' => 'An entitlement', + 'status' => 1, + 'created_by' => $current_user, + 'created_on' => date('Y-m-d h:i:s') + ] + ]; + $professional = [ + 'policy_id' => $policies_id['marriage'], + 'days' => 5, + 'comments' => 'An entitlement', + 'status' => 1, + 'created_by' => $current_user, + 'created_on' => date('Y-m-d h:i:s') + ]; - protected function create_entitlements() { - //grab policie ids + $business = [ + 'policy_id' => $policies_id['maternity'], + 'days' => 84, + 'from_date' => '2020-01-01 00:00:00', + 'to_date' => '2020-12-31 23:59:59', + 'comments' => 'An entitlement', + 'status' => 1, + 'created_by' => $current_user, + 'created_on' => date('Y-m-d h:i:s') + ]; - //grab user ids + $enterprise = [ + 'policy_id' => $policies_id['paternity'], + 'days' => 5, + 'from_date' => '2020-01-01 00:00:00', + 'to_date' => '2020-12-31 23:59:59', + 'comments' => 'An entitlement', + 'status' => 1, + 'created_by' => $current_user, + 'created_on' => date('Y-m-d h:i:s') + ]; - //insert datas to entitlements table + $employees = erp_hr_get_employees( [ 'number' => -1 ] ); + foreach( $employees as $employee ) { + $user_id = $employee->get_user_id(); + $gender = $employee->get_gender(); + $marital_status = $employee->get_marital_status(); + + if ( $user_id % 2 === 0 ) { + $from_date = $prev_year . '-01-01 00:00:00'; + $to_date = $prev_year . '-01-01 00:00:00'; + } else { + $from_date = date('Y') . '-01-01 00:00:00'; + $to_date = date('Y') . '-01-01 00:00:00'; + } + + foreach( $basic as $base ) { + $base['user_id'] = $user_id; + $base['from_date'] = $from_date; + $base['to_date'] = $to_date; + + $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_entitlements', $base ); + } + + if ( $marital_status === 'single' ) { + $professional['from_date'] = $from_date; + $professional['to_date'] = $to_date; + + $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_entitlements', $professional ); + } + + if ( $marital_status === 'married' && $gender === 'female' ) { + $business['from_date'] = $from_date; + $business['to_date'] = $to_date; + + $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_entitlements', $business ); + } + + if ( $marital_status === 'married' && $gender === 'male' ) { + $business['from_date'] = $from_date; + $business['to_date'] = $to_date; + + $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_entitlements', $enterprise ); + } + } } protected function create_leave_requests() { //get policy id, user id, data from $this->leave_request_datas, then insert into table } - } diff --git a/includes/tools-page.php b/includes/tools-page.php index 0246be3..a6e7a43 100644 --- a/includes/tools-page.php +++ b/includes/tools-page.php @@ -20,7 +20,7 @@

- +

From df5460ba2b6449485ab1709fd127e60817e15a6c Mon Sep 17 00:00:00 2001 From: Nadim Date: Tue, 4 Feb 2020 13:04:51 +0600 Subject: [PATCH 3/5] Add request mock data --- includes/class-hr-leaves-seeder.php | 331 +++++++++++++++++++++++++--- plugin.php | 1 + 2 files changed, 298 insertions(+), 34 deletions(-) diff --git a/includes/class-hr-leaves-seeder.php b/includes/class-hr-leaves-seeder.php index 2f73c9b..2cc4652 100644 --- a/includes/class-hr-leaves-seeder.php +++ b/includes/class-hr-leaves-seeder.php @@ -3,13 +3,14 @@ /** * HR Seeder Class */ -class WeDevs_ERP_HR_Leaves_Seeder { +class WeDevs_ERP_HR_Leaves_Seeder +{ - protected $policies; + protected $policies; - protected $leave_request_datas; + protected $leave_request_datas; - function __construct( $count ) { + function __construct($count) { $this->count = $count; } @@ -20,8 +21,10 @@ function __construct( $count ) { */ public function run() { $this->truncate_all(); + $this->create_holidays(); $this->policies_datas(); $this->create_entitlements(); + $this->create_leave_requests(); } /** @@ -43,26 +46,24 @@ public function truncate_all() { ]; foreach ($tables as $table) { - $wpdb->query( 'TRUNCATE TABLE ' . $wpdb->prefix . $table ); + $wpdb->query('TRUNCATE TABLE ' . $wpdb->prefix . $table); } } - /** - * Use this method as seeder for leave request - */ - protected function leave_request_datas() { - $this->leave_request_datas = [ - - ]; - } + /** + * Use this method as seeder for leave request + */ + protected function leave_request_datas() { + $this->leave_request_datas = []; + } - /** - * Use this method as seeder for leave policy - */ + /** + * Use this method as seeder for leave policy + */ protected function policies_datas() { global $wpdb; - - $this->policies = [ + + $this->policies = [ [ 'name' => 'Annual leave', 'value' => 5, @@ -161,8 +162,8 @@ protected function policies_datas() { ] ]; - foreach( $this->policies as $policy ) { - $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_policies', $policy ); + foreach ($this->policies as $policy) { + $wpdb->insert($wpdb->prefix . 'erp_hr_leave_policies', $policy); } } @@ -170,10 +171,10 @@ protected function create_entitlements() { global $wpdb; $current_user = get_current_user_id(); - $date_minus_1 = strtotime( date('Y-m-d') . ' -1 year' ); + $date_minus_1 = strtotime(date('Y-m-d') . ' -1 year'); $prev_year = date('Y', $date_minus_1); - $policies_id = [ + $policies_id = [ 'annual' => 1, 'casual' => 2, 'sick' => 3, @@ -240,14 +241,14 @@ protected function create_entitlements() { 'created_on' => date('Y-m-d h:i:s') ]; - $employees = erp_hr_get_employees( [ 'number' => -1 ] ); + $employees = erp_hr_get_employees(['number' => -1]); - foreach( $employees as $employee ) { + foreach ($employees as $employee) { $user_id = $employee->get_user_id(); $gender = $employee->get_gender(); $marital_status = $employee->get_marital_status(); - if ( $user_id % 2 === 0 ) { + if ($user_id % 2 === 0) { $from_date = $prev_year . '-01-01 00:00:00'; $to_date = $prev_year . '-01-01 00:00:00'; } else { @@ -255,39 +256,301 @@ protected function create_entitlements() { $to_date = date('Y') . '-01-01 00:00:00'; } - foreach( $basic as $base ) { + foreach ($basic as $base) { $base['user_id'] = $user_id; $base['from_date'] = $from_date; $base['to_date'] = $to_date; - $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_entitlements', $base ); + $wpdb->insert($wpdb->prefix . 'erp_hr_leave_entitlements', $base); } - if ( $marital_status === 'single' ) { + if ($marital_status === 'single') { $professional['from_date'] = $from_date; $professional['to_date'] = $to_date; - $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_entitlements', $professional ); + $wpdb->insert($wpdb->prefix . 'erp_hr_leave_entitlements', $professional); } - if ( $marital_status === 'married' && $gender === 'female' ) { + if ($marital_status === 'married' && $gender === 'female') { $business['from_date'] = $from_date; $business['to_date'] = $to_date; - $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_entitlements', $business ); + $wpdb->insert($wpdb->prefix . 'erp_hr_leave_entitlements', $business); } - if ( $marital_status === 'married' && $gender === 'male' ) { + if ($marital_status === 'married' && $gender === 'male') { $business['from_date'] = $from_date; $business['to_date'] = $to_date; - $wpdb->insert( $wpdb->prefix . 'erp_hr_leave_entitlements', $enterprise ); + $wpdb->insert($wpdb->prefix . 'erp_hr_leave_entitlements', $enterprise); } } } + /** + * Create leave requests + */ protected function create_leave_requests() { - //get policy id, user id, data from $this->leave_request_datas, then insert into table + global $wpdb; + + $entitlements = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}erp_hr_leave_entitlements"); + + foreach ($entitlements as $entitlement) { + $date_plus_10 = date('Y-m-d', strtotime($entitlement->from_date . ' +10 days')); + $date_plus_20 = date('Y-m-d', strtotime($date_plus_10 . ' +20 days')); + + $from_date = $this->get_random_date($entitlement->from_date, $date_plus_10); + $to_date = $this->get_random_date($date_plus_10, $date_plus_20); + $date_count = date_diff(date_create($from_date), date_create($to_date)); + + $data = [ + 'user_id' => $entitlement->user_id, + 'policy_id' => $entitlement->policy_id, + 'days' => $date_count->format('%a') + 1, // plus 1 for count with the starting date + 'start_date' => $from_date, + 'end_date' => date('Y-m-d 23:59:59', strtotime($to_date)), + 'comments' => 'Leave request', + 'status' => rand(1, 3), + 'created_by' => get_current_user_id(), + 'created_on' => date('Y-m-d H:i:s') + ]; + + $wpdb->insert($wpdb->prefix . 'erp_hr_leave_requests', $data); + + /** + * Breakdown days for details entry + */ + $request_id = $wpdb->insert_id; + + $periods = new DatePeriod( + new DateTime($from_date), + new DateInterval('P1D'), + new DateTime($to_date) + ); + + $holidays = erp_hr_leave_get_holiday_between_date_range($from_date, $to_date); + + $dates = []; + + foreach ($periods as $period) { + $dates[] = $period->format('Y-m-d'); + } + + $applicable_dates = array_diff( $dates, $holidays ); + + foreach ($applicable_dates as $applicable_date) { + $wpdb->insert($wpdb->prefix . 'erp_hr_leaves', [ + 'request_id' => $request_id, + 'date' => $applicable_date, + 'length_hours' => '8.00', + 'length_days' => '1', + 'start_time' => '00:00:00', + 'end_time' => '23:59:00', + 'duration_type' => '1' + ]); + } + } + } + + /** + * Get random data + */ + private function get_random_date($start_date, $end_date) + { + $min = strtotime($start_date); + $max = strtotime($end_date); + + $val = rand($min, $max); + + return date('Y-m-d', $val); } + /** + * Create holidays + */ + protected function create_holidays() { + global $wpdb; + + $date_minus_1 = strtotime(date('Y-m-d') . ' -1 year'); + $prev_year = date('Y', $date_minus_1); + $current_year = date('Y'); + + $holidays = [ + [ + 'title' => 'Independence Day', + 'start' => $prev_year . '-02-01 00:00:00', + 'end' => $prev_year . '-02-01 23:59:59', + 'description' => 'Independence Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Tax Day', + 'start' => $prev_year . '-02-09 00:00:00', + 'end' => $prev_year . '-02-09 23:59:59', + 'description' => 'Tax Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Thanksgiving Day', + 'start' => $prev_year . '-03-12 00:00:00', + 'end' => $prev_year . '-03-14 23:59:59', + 'description' => 'Thanksgiving Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Election Day', + 'start' => $prev_year . '-04-04 00:00:00', + 'end' => $prev_year . '-04-04 23:59:59', + 'description' => 'Election Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Orthodox Day', + 'start' => $prev_year . '-05-05 00:00:00', + 'end' => $prev_year . '-05-05 23:59:59', + 'description' => 'Orthodox Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Hanukkah Day', + 'start' => $prev_year . '-05-22 00:00:00', + 'end' => $prev_year . '-05-22 23:59:59', + 'description' => 'Hanukkah Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Rosh Hashanah Day', + 'start' => $prev_year . '-06-06 00:00:00', + 'end' => $prev_year . '-06-06 23:59:59', + 'description' => 'Rosh Hashanah Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Lunar Day', + 'start' => $prev_year . '-07-07 00:00:00', + 'end' => $prev_year . '-07-07 23:59:59', + 'description' => 'Lunar Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Yom Kippur', + 'start' => $prev_year . '-08-22 00:00:00', + 'end' => $prev_year . '-08-22 23:59:59', + 'description' => 'Yom Kippur', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Easter', + 'start' => $current_year . '-02-02 00:00:00', + 'end' => $current_year . '-02-02 23:59:59', + 'description' => 'Easter', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Ashura', + 'start' => $prev_year . '-09-09 00:00:00', + 'end' => $prev_year . '-09-09 23:59:59', + 'description' => 'Ashura', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Diwali', + 'start' => $prev_year . '-10-13 00:00:00', + 'end' => $prev_year . '-10-13 23:59:59', + 'description' => 'Diwali', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Holi', + 'start' => $current_year . '-02-15 00:00:00', + 'end' => $current_year . '-02-15 23:59:59', + 'description' => 'Holi', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Ashura', + 'start' => $prev_year . '-02-17 00:00:00', + 'end' => $prev_year . '-02-17 23:59:59', + 'description' => 'Ashura', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Palm Sunday', + 'start' => $prev_year . '-04-05 00:00:00', + 'end' => $prev_year . '-04-05 23:59:59', + 'description' => 'Palm Sunday', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Christmas Eve', + 'start' => $prev_year . '-05-23 00:00:00', + 'end' => $prev_year . '-05-23 23:59:59', + 'description' => 'Christmas Eve', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Palm Sunday', + 'start' => $current_year . '-01-03 00:00:00', + 'end' => $current_year . '-01-03 23:59:59', + 'description' => 'Palm Sunday', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Columbus Day', + 'start' => $current_year . '-01-17 00:00:00', + 'end' => $current_year . '-01-17 23:59:59', + 'description' => 'Columbus Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'title' => 'Memorial Day', + 'start' => $current_year . '-06-06 00:00:00', + 'end' => $current_year . '-06-06 23:59:59', + 'description' => 'Memorial Day', + 'range_status' => '', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ] + ]; + + foreach ( $holidays as $holiday ) { + $wpdb->insert($wpdb->prefix . 'erp_hr_holiday', $holiday); + } + } } diff --git a/plugin.php b/plugin.php index 4e8b7ee..6311384 100644 --- a/plugin.php +++ b/plugin.php @@ -99,6 +99,7 @@ function submit_tools_page() { echo "

Done!

"; printf( 'View Employees OR ', admin_url( 'admin.php?page=erp-hr§ion=employee' ) ); + printf( 'View Leaves OR ', admin_url( 'admin.php?page=erp-hr§ion=leave' ) ); printf( 'View Customers', admin_url( 'admin.php?page=erp-crm§ion=contacts' ) ); die(); } From 3096b65b3142a9fd72192fffb5895f8af088a88c Mon Sep 17 00:00:00 2001 From: Nadim Date: Mon, 10 Feb 2020 09:59:10 +0600 Subject: [PATCH 4/5] Fix user id for migration --- includes/class-hr-leaves-seeder.php | 8 ++++++-- plugin.php | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/includes/class-hr-leaves-seeder.php b/includes/class-hr-leaves-seeder.php index 2cc4652..2480c66 100644 --- a/includes/class-hr-leaves-seeder.php +++ b/includes/class-hr-leaves-seeder.php @@ -265,6 +265,7 @@ protected function create_entitlements() { } if ($marital_status === 'single') { + $professional['user_id'] = $user_id; $professional['from_date'] = $from_date; $professional['to_date'] = $to_date; @@ -272,6 +273,7 @@ protected function create_entitlements() { } if ($marital_status === 'married' && $gender === 'female') { + $business['user_id'] = $user_id; $business['from_date'] = $from_date; $business['to_date'] = $to_date; @@ -279,8 +281,9 @@ protected function create_entitlements() { } if ($marital_status === 'married' && $gender === 'male') { - $business['from_date'] = $from_date; - $business['to_date'] = $to_date; + $enterprise['user_id'] = $user_id; + $enterprise['from_date'] = $from_date; + $enterprise['to_date'] = $to_date; $wpdb->insert($wpdb->prefix . 'erp_hr_leave_entitlements', $enterprise); } @@ -310,6 +313,7 @@ protected function create_leave_requests() { 'start_date' => $from_date, 'end_date' => date('Y-m-d 23:59:59', strtotime($to_date)), 'comments' => 'Leave request', + 'reason' => 'No reason, just for testing', 'status' => rand(1, 3), 'created_by' => get_current_user_id(), 'created_on' => date('Y-m-d H:i:s') diff --git a/plugin.php b/plugin.php index 6311384..30c072f 100644 --- a/plugin.php +++ b/plugin.php @@ -5,7 +5,7 @@ * Plugin URI: http://wperp.com * Author: Tareq Hasan * Author URI: http://tareq.co - * Version: 1.0 + * Version: 2.0.0 * License: GPL2 */ From 2137c7ad4c22dddc10d8d4a2b4b65e69c95d0b07 Mon Sep 17 00:00:00 2001 From: Nadim Date: Mon, 10 Feb 2020 15:33:51 +0600 Subject: [PATCH 5/5] Update status for leave --- includes/class-hr-leaves-seeder.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/includes/class-hr-leaves-seeder.php b/includes/class-hr-leaves-seeder.php index 2480c66..201a4c4 100644 --- a/includes/class-hr-leaves-seeder.php +++ b/includes/class-hr-leaves-seeder.php @@ -306,6 +306,9 @@ protected function create_leave_requests() { $to_date = $this->get_random_date($date_plus_10, $date_plus_20); $date_count = date_diff(date_create($from_date), date_create($to_date)); + $status = rand(1, 3); + $status_pending = 2; + $data = [ 'user_id' => $entitlement->user_id, 'policy_id' => $entitlement->policy_id, @@ -314,11 +317,16 @@ protected function create_leave_requests() { 'end_date' => date('Y-m-d 23:59:59', strtotime($to_date)), 'comments' => 'Leave request', 'reason' => 'No reason, just for testing', - 'status' => rand(1, 3), + 'status' => $status, 'created_by' => get_current_user_id(), 'created_on' => date('Y-m-d H:i:s') ]; + if ( $status !== $status_pending ) { + $data['updated_by'] = get_current_user_id(); + $data['updated_on'] = date('Y-m-d 23:59:58'); + } + $wpdb->insert($wpdb->prefix . 'erp_hr_leave_requests', $data); /**