[Back] <?php
/* @var $bookings OsBookingModel[] */
/* @var $services_list array */
/* @var $locations_list array */
/* @var $agents_list array */
/* @var $selected_columns array */
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
?>
<?php
if($bookings){
foreach ($bookings as $booking): ?>
<tr class="os-clickable-row" <?php echo OsBookingHelper::quick_booking_btn_html($booking->id); ?>>
<td class="os-column-faded text-right has-floating-button">
<?php echo esc_html($booking->id); ?>
<div class="os-floating-button"><i class="latepoint-icon latepoint-icon-edit-3"></i></div>
</td>
<?php if(count($services_list) > 1){ ?>
<td>
<div class="os-with-service-color">
<span class="cell-link-content">
<span class="os-column-service-color" style="background-color: <?php echo esc_attr($booking->service->bg_color); ?>"></span>
<span><?php echo esc_html($booking->service->name); ?></span>
</span>
</div>
</td>
<?php } ?>
<td><strong><?php echo esc_html($booking->nice_start_date); ?></strong> <span class="os-dot"></span> <span><?php echo esc_html($booking->nice_start_time); ?></span></td>
<td><span class="in-table-time-left">
<?php
switch($booking->time_status()){
case 'upcoming':
echo $booking->time_left;
break;
case 'now':
echo '<span class="time-left is-now">'.esc_html__('Now', 'latepoint').'</span>';
break;
case 'past':
echo '<span class="time-left is-past">'.esc_html__('Past', 'latepoint').'</span>';
break;
}
?>
</span>
</td>
<?php if(count($agents_list) > 1){ ?>
<td>
<div class="os-with-avatar">
<span class="cell-link-content">
<span class="os-avatar" style="background-image: url(<?php echo esc_url($booking->agent->get_avatar_url()); ?>)"></span>
<span class="os-name"><?php echo esc_html($booking->agent->full_name); ?></span>
</span>
<div class="os-clickable-popup-trigger"
data-route="<?php echo esc_attr(OsRouterHelper::build_route_name('agents', 'mini_profile')); ?>"
data-os-params="<?php echo esc_attr(OsUtilHelper::build_os_params(['agent_id' => $booking->agent_id, 'booking_id' => $booking->id])); ?>">
<i class="latepoint-icon latepoint-icon-more-horizontal"></i>
</div>
</div>
</td>
<?php } ?>
<?php if(count($locations_list) > 1){ ?>
<td><?php echo esc_html($booking->location->name); ?></td>
<?php } ?>
<td>
<div class="os-with-avatar">
<span class="cell-link-content">
<span class="os-avatar" style="background-image: url(<?php echo esc_url($booking->customer->get_avatar_url()); ?>)"></span>
<span class="os-name"><?php echo esc_html($booking->customer->full_name); ?></span>
</span>
<div class="os-clickable-popup-trigger" data-route="<?php echo esc_attr(OsRouterHelper::build_route_name('customers', 'mini_profile')); ?>" data-os-params="<?php echo esc_attr(OsUtilHelper::build_os_params(['customer_id' => $booking->customer_id, 'booking_id' => $booking->id])); ?>">
<i class="latepoint-icon latepoint-icon-more-horizontal"></i>
</div>
</div>
</td>
<td><span class="os-column-status os-column-status-<?php echo esc_attr($booking->status); ?>"><?php echo esc_html($booking->nice_status); ?></span></td>
<td><span class="os-column-status os-column-status-<?php echo esc_attr($booking->order->payment_status); ?>"><?php echo esc_html(OsOrdersHelper::get_nice_order_payment_status_name($booking->order->payment_status)); ?></span></td>
<td><?php echo esc_html($booking->nice_created_at); ?></td>
<?php
$customer = $booking->customer;
foreach($selected_columns as $column_type => $columns){
foreach($columns as $column_key){
if(isset($available_columns[$column_type][$column_key])){
if(property_exists($$column_type, $column_key) || method_exists($$column_type,"get_".$column_key)){
echo '<td>'.esc_html($$column_type->$column_key).'</td>';
}else{
$column_value = $$column_type->get_meta_by_key( $column_key );
# get info about custom field
if ( $column_value &&
( $custom_fields = OsSettingsHelper::get_settings_value( 'custom_fields_for_' . $column_type, false ) ) &&
( $custom_fields_arr = json_decode( $custom_fields, true ) ) &&
isset( $custom_fields_arr[ $column_key ]['type'] ) ) {
if ( $custom_fields_arr[ $column_key ]['type'] === 'multiselect' ) {
$decoded_value = json_decode( $column_value );
$column_value = is_array($decoded_value) ? implode( ', ', $decoded_value ) : $column_value;
}
}
echo '<td>' . esc_html( $column_value ) . '</td>';
}
}
}
} ?>
</tr>
<?php
endforeach;
}?>