add contacts page for commercial leads
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
.wiaas-contacts-table th{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.wiaas-contacts-table tr.odd{
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
jQuery(document).ready(function($) {
|
||||
$('#wiaas_contacts_table').DataTable({
|
||||
"pageLength": 20,
|
||||
"lengthChange": false,
|
||||
"info": false,
|
||||
"filter": true,
|
||||
"order": [[ 0, "desc" ]]
|
||||
});
|
||||
} );
|
||||
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class Wiaas_Admin_CL_Contacts
|
||||
*/
|
||||
class Wiaas_Admin_CL_Contacts {
|
||||
|
||||
/**
|
||||
* Displays table list of customers that are linked to commercial lead and brokers
|
||||
*/
|
||||
|
||||
public static function init() {
|
||||
add_action( 'admin_menu', array( __CLASS__, 'add_contacts_page' ), 9 );
|
||||
|
||||
add_action( 'admin_enqueue_scripts', array(__CLASS__, 'enqueue_scripts'), 100 );
|
||||
}
|
||||
|
||||
public static function enqueue_scripts() {
|
||||
$plugin_url = untrailingslashit( plugins_url( '/', WIAAS_FILE ) );
|
||||
|
||||
wp_enqueue_style( 'wiaas_admin_cl_contacts', $plugin_url . '/assets/css/wiaas-admin-cl-contacts.css' );
|
||||
wp_enqueue_script( 'wiaas_admin_cl_contacts', $plugin_url . '/assets/js/wiaas-admin-cl-contacts.js' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Add customer menu page for commercial lead
|
||||
*/
|
||||
public static function add_contacts_page() {
|
||||
add_menu_page(
|
||||
__( 'Contacts', 'wiaas' ),
|
||||
__( 'Contacts', 'wiaas' ),
|
||||
'manage_wiaas_cl_customers',
|
||||
'wiaas-cl-contacts',
|
||||
array(__CLASS__, 'output_contacts'),
|
||||
'dashicons-list-view',
|
||||
'66.0' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Render content for contacts menu page
|
||||
*/
|
||||
public static function output_contacts() {
|
||||
$organization_id = wiaas_get_current_user_organization_id();
|
||||
|
||||
$related_customer_organizations = Wiaas_Shop::get_shop_customers($organization_id);
|
||||
$ids_of_user_organizations_to_show = [];
|
||||
|
||||
//add customer organizations related to CL
|
||||
foreach( $related_customer_organizations as $customer_organization){
|
||||
$ids_of_user_organizations_to_show[] = $customer_organization['customer_id'];
|
||||
}
|
||||
|
||||
//add brokers
|
||||
$brokers = wiaas_get_brokers();
|
||||
|
||||
foreach ($brokers as $broker_id => $broker_name) {
|
||||
$ids_of_user_organizations_to_show[] = $broker_id;
|
||||
}
|
||||
|
||||
|
||||
$args = array(
|
||||
'meta_key' => '_wiaas_organization_id',
|
||||
'meta_value' => $ids_of_user_organizations_to_show,
|
||||
'compare' => 'IN'
|
||||
);
|
||||
|
||||
$query = new WP_User_Query($args);
|
||||
|
||||
$list_of_users = $query->get_results();
|
||||
$contacts = [];
|
||||
|
||||
foreach ($list_of_users as $user){
|
||||
$roles_array = wiaas_get_organization_roles($user->_wiaas_organization_id);
|
||||
|
||||
$roles = '';
|
||||
foreach($roles_array as $role){
|
||||
$roles .= translate_user_role( wp_roles()->role_names[ $role ]) . ', ';
|
||||
}
|
||||
|
||||
$roles = substr($roles, 0, -2);
|
||||
|
||||
$contacts[] = array(
|
||||
'name' => $user->user_nicename,
|
||||
'email' => $user->user_email,
|
||||
'phone' => get_the_author_meta('phone', $user->ID),
|
||||
'roles' => $roles
|
||||
);
|
||||
}
|
||||
|
||||
require 'views/html-admin-cl-contacts-page.php';
|
||||
}
|
||||
}
|
||||
|
||||
Wiaas_Admin_CL_Contacts::init();
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div>
|
||||
<h1><?php esc_html_e( 'Contacts', 'wiaas' ); ?> </h1>
|
||||
|
||||
<br class="clear" />
|
||||
<div >
|
||||
<table id="wiaas_contacts_table" class="wiaas-contacts-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php esc_html_e( 'Name', 'wiaas' ); ?></th>
|
||||
<th><?php esc_html_e( 'Email', 'wiaas' ); ?></th>
|
||||
<th><?php esc_html_e( 'Phone', 'wiaas' ); ?></th>
|
||||
<th><?php esc_html_e( 'Roles', 'wiaas' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="wiaas-contacts-tbody">
|
||||
|
||||
<?php
|
||||
foreach ($contacts as $contact) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php esc_html_e($contact['name'] ?: '-', 'wiaas'); ?></td>
|
||||
<td><a href="mailto:<?php esc_html_e($contact['email'] ?: '-', 'wiaas'); ?>"><?php esc_html_e($contact['email'] ?: '-', 'wiaas'); ?></a></td>
|
||||
<td><?php esc_html_e($contact['phone'] ?: '-', 'wiaas'); ?></td>
|
||||
<td><?php esc_html_e($contact['roles'] ?: '-', 'wiaas'); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
@@ -24,6 +24,8 @@ class Wiaas_Admin_CL {
|
||||
|
||||
require_once dirname( __FILE__ ) . '/admin-cl/class-wiaas-admin-cl-customers.php';
|
||||
|
||||
require_once dirname( __FILE__ ) . '/admin-cl/class-wiaas-admin-cl-contacts.php';
|
||||
|
||||
require_once dirname( __FILE__ ) . '/admin-cl/class-wiaas-admin-cl-orders.php';
|
||||
|
||||
require_once dirname( __FILE__ ) . '/admin-cl/wiaas-admin-cl-packages-ajax.php';
|
||||
|
||||
Reference in New Issue
Block a user