/** * Get customer life statges status count * * @since 1.0 * * @return array */ function erp_crm_customer_get_status_count($type = null) { global $wpdb; $statuses = erp_crm_get_life_statges_dropdown_raw(['all' => __('All', 'wp-erp')]); $counts = array(); foreach ($statuses as $status => $label) { $counts[$status] = array('count' => 0, 'label' => $label); } $cache_key = 'erp-crm-customer-status-counts'; $results = wp_cache_get($cache_key, 'wp-erp'); if (false === $results) { $people = new \WeDevs\ERP\Framework\Models\People(); $db = new \WeDevs\ORM\Eloquent\Database(); $people_table = $wpdb->prefix . 'erp_peoples'; $peoplemeta_table = $wpdb->prefix . 'erp_peoplemeta'; $results = $people->select(array($db->raw($peoplemeta_table . '.meta_value as `status`, COUNT( ' . $people_table . '.id ) as `num`')))->leftjoin($peoplemeta_table, $peoplemeta_table . '.erp_people_id', '=', $people_table . '.id')->where($peoplemeta_table . '.meta_key', '=', 'life_stage')->where($people_table . '.type', '=', $type)->groupBy($peoplemeta_table . '.meta_value')->get()->toArray(); wp_cache_set($cache_key, $results, 'wp-erp'); } foreach ($results as $row) { if (array_key_exists($row['status'], $counts)) { $counts[$row['status']]['count'] = (int) $row['num']; } $counts['all']['count'] += (int) $row['num']; } return $counts; }
do_action('erp-crm-customer-form-basic'); ?> </ol> </fieldset> <fieldset> <legend><?php _e('Others Info', 'wp-erp'); ?> </legend> <ol class="form-fields two-col"> <li data-selected="{{ data.life_stage }}"> <?php erp_html_form_input(array('label' => __('Life Stage', 'wp-erp'), 'name' => 'life_stage', 'required' => true, 'type' => 'select', 'class' => 'select2', 'options' => erp_crm_get_life_statges_dropdown_raw(['' => __('--Select Stage--', 'wp-erp')]))); ?> </li> <li> <?php erp_html_form_input(array('label' => __('Mobile', 'wp-erp'), 'name' => 'mobile', 'value' => '{{ data.mobile }}')); ?> </li> <li> <?php erp_html_form_input(array('label' => __('Website', 'wp-erp'), 'name' => 'website', 'value' => '{{ data.website }}')); ?> </li>
/** * Default column values if no callback found * * @since 1.0 * * @param object $item * @param string $column_name * * @return string */ function column_default($customer, $column_name) { $life_stages = erp_crm_get_life_statges_dropdown_raw(); $life_stage = erp_people_get_meta($customer->id, 'life_stage', true); switch ($column_name) { case 'email': return $customer->email; case 'phone_number': return $customer->phone; case 'life_stages': return isset($life_stages[$life_stage]) ? $life_stages[$life_stage] : '-'; case 'created': return erp_format_date($customer->created); default: return isset($customer->{$column_name}) ? $customer->{$column_name} : ''; } }