// quick fix customer view

This commit is contained in:
Kevin Granger
2013-10-10 19:04:25 +02:00
parent 77551c03f5
commit 447f1d4ba7
4 changed files with 533 additions and 447 deletions
+21 -18
View File
@@ -7598,12 +7598,12 @@ html, body {
color: contrasted(#e6e8e3); }
/* line 46, admin-theme.sass */
#content h3:not(.modal-title) .badge, #content .panel-heading:not(.modal-title) .badge, #content #header_notifs_icon_wrapper .notifs_panel .notifs_panel_header:not(.modal-title) .badge, #header_notifs_icon_wrapper .notifs_panel #content .notifs_panel_header:not(.modal-title) .badge, #content h3:not(.modal-title) #header_notifs_icon_wrapper .notifs_badge, #header_notifs_icon_wrapper #content h3:not(.modal-title) .notifs_badge, #content .panel-heading:not(.modal-title) #header_notifs_icon_wrapper .notifs_badge, #header_notifs_icon_wrapper #content .panel-heading:not(.modal-title) .notifs_badge, #content #header_notifs_icon_wrapper .notifs_panel .notifs_panel_header:not(.modal-title) .notifs_badge, #header_notifs_icon_wrapper .notifs_panel #content .notifs_panel_header:not(.modal-title) .notifs_badge, #content .panel-heading .badge, #content #header_notifs_icon_wrapper .notifs_panel .notifs_panel_header .badge, #header_notifs_icon_wrapper .notifs_panel #content .notifs_panel_header .badge, #content .panel-heading #header_notifs_icon_wrapper .notifs_badge, #header_notifs_icon_wrapper #content .panel-heading .notifs_badge, #content #header_notifs_icon_wrapper .notifs_panel .notifs_panel_header .notifs_badge, #header_notifs_icon_wrapper .notifs_panel #content .notifs_panel_header .notifs_badge {
background-color: white;
-webkit-border-radius: none;
-moz-border-radius: none;
-ms-border-radius: none;
-o-border-radius: none;
border-radius: none;
background-color: #1ba6e5;
-webkit-border-radius: 0;
-moz-border-radius: 0;
-ms-border-radius: 0;
-o-border-radius: 0;
border-radius: 0;
height: 29px;
line-height: 25px;
font-size: 1.3em;
@@ -7634,10 +7634,6 @@ html, body {
#content .panel-danger .panel-heading, #content .panel-danger #header_notifs_icon_wrapper .notifs_panel .notifs_panel_header, #header_notifs_icon_wrapper .notifs_panel #content .panel-danger .notifs_panel_header {
background-color: #8bc954 !important; }
/* line 74, admin-theme.sass */
#content .panel-heading-big {
font-size: 2em;
text-align: center; }
/* line 77, admin-theme.sass */
#content form .alert, #content form #carrier_wizard .wizard_error, #carrier_wizard #content form .wizard_error {
clear: both; }
@media (max-width: 768px) {
@@ -7646,7 +7642,7 @@ html, body {
margin-left: 0;
width: 100%; } }
/* line 84, admin-theme.sass */
/* line 81, admin-theme.sass */
#nobootstrap {
float: left; }
@@ -8817,21 +8813,28 @@ textarea {
.page-head h2.page-title {
padding: 0 0 0 20px; } }
/* line 21, admin-theme/_admin-toolbar.sass */
.page-head h2.page-title a {
border-bottom: dotted 1px white; }
/* line 23, admin-theme/_admin-toolbar.sass */
.page-head h2.page-title a:hover {
color: black;
border-color: black; }
/* line 26, admin-theme/_admin-toolbar.sass */
.page-head a {
color: white;
font-style: underline; }
/* line 24, admin-theme/_admin-toolbar.sass */
text-decoration: none; }
/* line 30, admin-theme/_admin-toolbar.sass */
.page-head .btn-toolbar {
margin: 0;
padding: 3px 0 0 0; }
/* line 27, admin-theme/_admin-toolbar.sass */
/* line 33, admin-theme/_admin-toolbar.sass */
.page-head .btn-toolbar .nav-tabs {
margin: 0; }
/* line 29, admin-theme/_admin-toolbar.sass */
/* line 35, admin-theme/_admin-toolbar.sass */
.page-head .btn-toolbar .nav-tabs > li > a {
color: #333333; }
/* line 32, admin-theme/_admin-toolbar.sass */
/* line 38, admin-theme/_admin-toolbar.sass */
.toolbar_btn {
position: relative;
padding: 2px 5px !important;
@@ -8841,13 +8844,13 @@ textarea {
color: white;
text-align: center;
text-shadow: none; }
/* line 41, admin-theme/_admin-toolbar.sass */
/* line 47, admin-theme/_admin-toolbar.sass */
.toolbar_btn:hover {
color: #8fc04d;
border-color: white;
background-color: white !important; }
/* line 46, admin-theme/_admin-toolbar.sass */
/* line 52, admin-theme/_admin-toolbar.sass */
[class^="process-icon-"], [class*=" process-icon-"] {
height: 25px;
min-width: 32px;
@@ -44,8 +44,8 @@ html, body
i, a
color: contrasted($bg-panel-heading-color)
.badge
background-color: lighten($bg-panel-heading-color,20%)
@include border-radius(none)
background-color: $brand-primary
+border-radius(0)
height: 29px
line-height: 25px
font-size: 1.3em
@@ -71,9 +71,6 @@ html, body
line-height: 30px
.panel-danger .panel-heading
background-color: $badge-notif-color!important
.panel-heading-big
font-size: 2em
text-align: center
form .alert
clear: both
@@ -18,9 +18,15 @@
text-transform: uppercase
@media (max-width: $screen-tablet)
padding: 0 0 0 20px
a
border-bottom: dotted 1px white
&:hover
color: black
border-color: black
a
color: white
font-style: underline
text-decoration: none
.btn-toolbar
margin: 0
padding: 3px 0 0 0
@@ -55,100 +55,247 @@
}
</script>
<div id="container-customer" class="row">
<div id="container-customer">
<div class="row">
{*left*}
<div class="col-lg-6">
<div class="panel">
<div class="panel-heading text-center">
<i class="icon-user"></i>
{$customer->firstname}
{$customer->lastname}
</div>
<ul class="list-unstyled col-lg-6">
<li>
{l s='Gender:'}
<span><img src="{$gender_image}"/></span>
</li>
<li>
{l s='Email:'}
<a href="mailto:{$customer->email}">{$customer->email}</a>
</li>
<li>
{l s='ID:'}
<span>{$customer->id|string_format:"%06d"}</span>
</li>
<li>
{l s='Registration date:'}
<span>{$registration_date}</span>
</li>
<li>
{l s='Last visit:'}
<span>{if $customer_stats['last_visit']}{$last_visit}{else}{l s='Never'}{/if}</span>
</li>
<li>
{if $count_better_customers != '-'}{l s='Rank:'}
<span># {$count_better_customers}</span>
{/if}
</li>
<li>
{if $shop_is_feature_active}{l s='Shop:'}
<span>{$name_shop}</span>
{/if}
</li>
</ul>
{*left*}
<div class="col-lg-6">
<div class="panel">
<div class="panel-heading panel-heading-big">
<i class="icon-user"></i> {$customer->firstname} {$customer->lastname}
</div>
<ul class="list-unstyled col-lg-6">
<li>{l s='Gender:'} <span class="label"><img src="{$gender_image}"/></span></li>
<li><i class="icon-envelope-alt"></i> {l s='Email:'} <a class="label" href="mailto:{$customer->email}">{$customer->email}</a></li>
<li>{l s='ID:'} <span class="label">{$customer->id|string_format:"%06d"}</span></li>
<li>{l s='Registration date:'} <span class="label">{$registration_date}</span></li>
<li>{l s='Last visit:'} <span class="label">{if $customer_stats['last_visit']}{$last_visit}{else}{l s='Never'}{/if}</span></li>
<li>{if $count_better_customers != '-'}{l s='Rank:'} <span class="label"># {$count_better_customers}</span>{/if}</li>
<li>{if $shop_is_feature_active}{l s='Shop:'} <span class="label">{$name_shop}</span>{/if}</li>
</ul>
<ul class="list-unstyled col-lg-6">
<li>{l s='Language:'} <span class="label">{if isset($customerLanguage)}{$customerLanguage->name}{else}{l s='undefined'}{/if}</span></li>
<li>{l s='Newsletter:'} {if $customer->newsletter}<span class="label label-success"><i class="icon-check-sign"></i> {l s='Yes'}</span>{else}<span class="label label-warning"><i class="icon-ban-circle"></i> {l s='No'}</span>{/if}</li>
<li>{l s='Opt in:'} {if $customer->optin}<span class="label label-success"><i class="icon-check-sign"></i> {l s='Yes'}</span>{else}<span class="label label-warning"><i class="icon-ban-circle"></i> {l s='No'}</span>{/if}</li>
<li>{l s='Age:'} {$customer_stats['age']} {if isset($customer->birthday['age'])}({$customer_birthday}){else}{l s='Unknown'}{/if}</li>
<li>{l s='Last update:'} <span class="label">{$last_update}</span></li>
<li>{l s='Status:'} {if $customer->active}<span class="label label-success"><i class="icon-check-sign"></i> {l s='Yes'}</span>{else}<span class="label label-warning"><i class="icon-ban-circle"></i> {l s='No'}</span>{/if}</li>
</ul>
<ul class="list-unstyled col-lg-6">
<li>
{l s='Language:'}
<span>
{if isset($customerLanguage)}
{$customerLanguage->name}
{else}
{l s='undefined'}
{/if}
</span>
</li>
<li>
{l s='Newsletter:'} {if $customer->newsletter}
<span class="label label-success">
<i class="icon-check-sign"></i> {l s='Yes'}
</span>
{else}
<span class="label label-warning">
<i class="icon-ban-circle"></i> {l s='No'}
</span>
{/if}
</li>
<li>
{l s='Opt in:'}
{if $customer->optin}
<span class="label label-success">
<i class="icon-check-sign"></i>
{l s='Yes'}
</span>
{else}
<span class="label label-warning">
<i class="icon-ban-circle"></i>
{l s='No'}
</span>
{/if}
</li>
<li>
{l s='Age:'}
{$customer_stats['age']}
{if isset($customer->birthday['age'])}({$customer_birthday}){else}{l s='Unknown'}{/if}</li>
<li>
{l s='Last update:'}
<span>{$last_update}</span>
</li>
<li>
{l s='Status:'}
{if $customer->active}
<span class="label label-success">
<i class="icon-check-sign"></i>
{l s='Yes'}
</span>
{else}
<span class="label label-warning">
<i class="icon-ban-circle"></i>
{l s='No'}
</span>
{/if}
</li>
</ul>
{if $customer->isGuest()}
<div>
{l s='This customer is registered as.'} <b>{l s='Guest'}</b>
{if !$customer_exists}
<form method="post" action="index.php?tab=AdminCustomers&id_customer={$customer->id}&token={getAdminToken tab='AdminCustomers'}">
<input type="hidden" name="id_lang" value="{$id_lang}" />
<p class="center">
<input class="button" type="submit" name="submitGuestToCustomer" value="{l s='Transform to a customer account'}" />
</p>
{l s='This feature generates a random password before sending an email to your customer.'}
</form>
{else}
</div>
<div>
{l s='A registered customer account using the defined email address already exists. '}
{if $customer->isGuest()}
<div>
{l s='This customer is registered as.'} <b>{l s='Guest'}</b>
{if !$customer_exists}
<form method="post" action="index.php?tab=AdminCustomers&id_customer={$customer->id}&token={getAdminToken tab='AdminCustomers'}">
<input type="hidden" name="id_lang" value="{$id_lang}" />
<p class="text-center">
<input class="button" type="submit" name="submitGuestToCustomer" value="{l s='Transform to a customer account'}" />
</p>
{l s='This feature generates a random password before sending an email to your customer.'}
</form>
{else}
</div>
<div>
{l s='A registered customer account using the defined email address already exists. '}
{/if}
</div>
{/if}
<a class="btn btn-default" href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
</div>
{/if}
<a class="btn btn-default" href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-file"></i> {l s='Orders'} <span class="badge">{count($orders)}</span>
</div>
{if $orders AND count($orders)}
<div class="panel">
<div class="panel-heading">
<i class="icon-file"></i> {l s='Orders'} <span class="badge">{count($orders)}</span>
</div>
{if $orders AND count($orders)}
{assign var=count_ok value=count($orders_ok)}
{assign var=count_ko value=count($orders_ko)}
{assign var=count_ok value=count($orders_ok)}
{assign var=count_ko value=count($orders_ko)}
<div class="panel">
<div class="row">
<div class="col-lg-6">
<i class="icon-ok-circle icon-big"></i>
{l s='Valid orders:'} <span class="badge badge-success">{$count_ok}</span> {l s='for'} {$total_ok}
</div>
<div class="col-lg-6">
<i class="icon-exclamation-sign icon-big"></i>
{l s='Invalid orders:'} <span class="badge badge-warning">{$count_ko}</span>
<div class="panel">
<div class="row">
<div class="col-lg-6">
<i class="icon-ok-circle icon-big"></i>
{l s='Valid orders:'} <span class="badge badge-success">{$count_ok}</span> {l s='for'} {$total_ok}
</div>
<div class="col-lg-6">
<i class="icon-exclamation-sign icon-big"></i>
{l s='Invalid orders:'} <span class="badge badge-warning">{$count_ko}</span>
</div>
</div>
</div>
{if $count_ok}
<table class="table">
<thead>
<tr>
<th class="center">{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Payment: '}</th>
<th>{l s='State'}</th>
<th>{l s='Products'}</th>
<th>{l s='Total spent'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $orders_ok AS $key => $order}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{$order['id_order']}</td>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$order['payment']}</td>
<td>{$order['order_state']}</td>
<td align="right">{$order['nb_products']}</td>
<td align="right">{$order['total_paid_real']}</td>
<td align="center">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
{if $count_ko}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Payment: '}</th>
<th>{l s='State'}</th>
<th>{l s='Products'}</th>
<th>{l s='Total spent'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $orders_ko AS $key => $order}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{$order['id_order']}</td>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$order['payment']}</td>
<td>{$order['order_state']}</td>
<td align="right">{$order['nb_products']}</td>
<td align="right">{$order['total_paid_real']}</td>
<td align="center">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
{else}
{l s='%1$s %2$s has not placed any orders yet' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-shopping-cart"></i> {l s='Carts'} <span class="badge">{count($carts)}</span>
</div>
{if $count_ok}
{if $carts AND count($carts)}
<table class="table">
<thead>
<tr>
<th class="center">{l s='ID'}</th>
<th>{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Payment: '}</th>
<th>{l s='State'}</th>
<th>{l s='Products'}</th>
<th>{l s='Total spent'}</th>
<th>{l s='Carrier'}</th>
<th>{l s='Total'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $orders_ok AS $key => $order}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{$order['id_order']}</td>
{foreach $carts AS $key => $cart}
<tr onclick="document.location = '?tab=AdminCarts&id_cart={$cart['id_cart']}&viewcart&token={getAdminToken tab='AdminCarts'}'">
<td>{$cart['id_cart']}</td>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$order['payment']}</td>
<td>{$order['order_state']}</td>
<td align="right">{$order['nb_products']}</td>
<td align="right">{$order['total_paid_real']}</td>
<td>{$cart['name']}</td>
<td align="right">{$cart['total_price']}</td>
<td align="center">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<a class="btn btn-default" href="index.php?tab=AdminCarts&id_cart={$cart['id_cart']}&viewcart&token={getAdminToken tab='AdminCarts'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
@@ -156,69 +303,224 @@
{/foreach}
</tbody>
</table>
{else}
{l s='No cart is available'}.
{/if}
{if $count_ko}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Payment: '}</th>
<th>{l s='State'}</th>
<th>{l s='Products'}</th>
<th>{l s='Total spent'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $orders_ko AS $key => $order}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{$order['id_order']}</td>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$order['payment']}</td>
<td>{$order['order_state']}</td>
<td align="right">{$order['nb_products']}</td>
<td align="right">{$order['total_paid_real']}</td>
<td align="center">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
{else}
{l s='%1$s %2$s has not placed any orders yet' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-shopping-cart"></i> {l s='Carts'} <span class="badge">{count($carts)}</span>
</div>
{if $carts AND count($carts)}
{if $products AND count($products)}
<div class="panel">
<div class="panel-heading">
<i class="icon-archive"></i> {l s='Products:'} <span class="badge">{count($products)}</span>
</div>
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Carrier'}</th>
<th>{l s='Total'}</th>
<th class="center">{l s='Date'}</th>
<th class="center">{l s='Name'}</th>
<th class="center">{l s='Quantity'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $carts AS $key => $cart}
<tr onclick="document.location = '?tab=AdminCarts&id_cart={$cart['id_cart']}&viewcart&token={getAdminToken tab='AdminCarts'}'">
<td>{$cart['id_cart']}</td>
{foreach $products AS $key => $product}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$product['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$cart['name']}</td>
<td align="right">{$cart['total_price']}</td>
<td>{$product['product_name']}</td>
<td align="right">{$product['product_quantity']}</td>
<td align="center">
<a class="btn btn-default" href="index.php?tab=AdminCarts&id_cart={$cart['id_cart']}&viewcart&token={getAdminToken tab='AdminCarts'}">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$product['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
</div>
{*right*}
<div class="col-lg-6">
<div class="panel">
<div class="panel-heading">
<i class="icon-eye-close"></i> {l s='Add a private note'}
</div>
<div class="alert alert-info">{l s='This note will be displayed to all employees but not to customers.'}</div>
<form id="customer_note" class="form-horizontal" action="ajax.php" method="post" onsubmit="saveCustomerNote();return false;" >
<div class="row">
<div class="col-lg-12">
<textarea name="note" id="noteContent" onkeydown="$('#submitCustomerNote').removeAttr('disabled');">{$customer_note}</textarea>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<button type="submit" id="submitCustomerNote" class="btn btn-primary pull-right" disabled="disabled" /><i class="icon-save"></i> {l s='Save'}</button>
</div>
</div>
<span id="note_feedback"></span>
</form>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-envelope"></i> {l s='Messages'} <span class="badge">{count($messages)}</span>
</div>
{if count($messages)}
<table class="table">
<thead>
<th>{l s='Status'}</th>
<th>{l s='Message'}</th>
<th>{l s='Sent on'}</th>
</thead>
{foreach $messages AS $message}
<tr>
<td>{$message['status']}</td>
<td>
<a href="index.php?tab=AdminCustomerThreads&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread&token={getAdminToken tab='AdminCustomerThreads'}">
{$message['message']}...
</a>
</td>
<td>{$message['date_add']}</td>
</tr>
{/foreach}
</table>
{else}
{l s='%1$s %2$s has never contacted you' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-ticket"></i> {l s='Vouchers'} <span class="badge">{count($discounts)}</span>
</div>
{if count($discounts)}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Code'}</th>
<th>{l s='Name'}</th>
<th>{l s='Status'}</th>
<th>{l s='Actions'}</th>
<tr/>
</thead>
<tbody>
{foreach $discounts AS $key => $discount}
<tr>
<td align="center">{$discount['id_cart_rule']}</td>
<td>{$discount['code']}</td>
<td>{$discount['name']}</td>
<td align="center">
<img src="../img/admin/{if $discount['active']}enabled.gif{else}disabled.gif{/if}" alt="{l s='Status'}" title="{l s='Status'}" />
</td>
<td align="center">
<a href="?tab=AdminCartRules&id_cart_rule={$discount['id_cart_rule']}&addcart_rule&token={getAdminToken tab='AdminCartRules'}">
<img src="../img/admin/edit.gif" />
</a>
<a href="?tab=AdminCartRules&id_cart_rule={$discount['id_cart_rule']}&deletecart_rule&token={getAdminToken tab='AdminCartRules'}">
<img src="../img/admin/delete.gif" />
</a>
</td>
</tr>
</tbody>
{/foreach}
</table>
{else}
{l s='%1$s %2$s has no discount vouchers' sprintf=[$customer->firstname, $customer->lastname]}.
{/if}
</div>
{if count($connections)}
<div class="panel">
<div class="panel-heading">
<i class="icon-time"></i> {l s='Last connections'}
</div>
<table class="table">
<thead>
<tr>
<th>{l s='Date'}</th>
<th>{l s='Pages viewed'}</th>
<th>{l s='Total time'}</th>
<th>{l s='Origin'}</th>
<th>{l s='IP Address'}</th>
</tr>
</thead>
<tbody>
{foreach $connections as $connection}
<tr>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$connection['pages']}</td>
<td>{$connection['time']}</td>
<td>{$connection['http_referer']}</td>
<td>{$connection['ipaddress']}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
<div class="panel">
<div class="panel-heading">
<i class="icon-group"></i> {l s='Groups'} <span class="badge">{count($groups)}</span>
</div>
{if $groups AND count($groups)}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Name'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $groups AS $key => $group}
<tr onclick="document.location = '?tab=AdminGroups&id_group={$group['id_group']}&viewgroup&token={getAdminToken tab='AdminGroups'}'">
<td>{$group['id_group']}</td>
<td>{$group['name']}</td>
<td class="center">
<a class="btn btn-default" href="?tab=AdminGroups&id_group={$group['id_group']}&viewgroup&token={getAdminToken tab='AdminGroups'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
<a class="btn btn-default" href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
{*todo add next elements*}
{if count($interested)}
<div class="panel">
<div class="panel-heading">
<i class="icon-archive"></i> {l s='Products:'} <span class="badge">{count($interested)}</span>
</div>
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Name'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $interested as $key => $p}
<tr onclick="document.location = '{$p['url']}'">
<td>{$p['id']}</td>
<td>{$p['name']}</td>
<td align="center">
<a class="btn btn-default" href="{$p['url']}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
@@ -226,319 +528,97 @@
{/foreach}
</tbody>
</table>
{else}
{l s='No cart is available'}.
</div>
{/if}
</div>
{if $products AND count($products)}
<div class="panel">
<div class="panel-heading">
<i class="icon-archive"></i> {l s='Products:'} <span class="badge">{count($products)}</span>
</div>
<table class="table">
<thead>
<tr>
<th class="center">{l s='Date'}</th>
<th class="center">{l s='Name'}</th>
<th class="center">{l s='Quantity'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $products AS $key => $product}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$product['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$product['product_name']}</td>
<td align="right">{$product['product_quantity']}</td>
<td align="center">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$product['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
</div>
{*right*}
<div class="col-lg-6">
<div class="panel">
<div class="panel-heading">
<i class="icon-eye-close"></i> {l s='Add a private note'}
</div>
<div class="alert alert-info">{l s='This note will be displayed to all employees but not to customers.'}</div>
<form id="customer_note" class="form-horizontal" action="ajax.php" method="post" onsubmit="saveCustomerNote();return false;" >
<div class="row">
<div class="col-lg-12">
<textarea name="note" id="noteContent" onkeydown="$('#submitCustomerNote').removeAttr('disabled');">{$customer_note}</textarea>
</div>
<div class="col-lg-6">
{if count($referrers)}
<div class="panel">
<div class="panel-heading">
<i class="icon-share-alt"></i> {l s='Referrers'}
</div>
<div class="row">
<div class="col-lg-12">
<button type="submit" id="submitCustomerNote" class="btn btn-primary pull-right" disabled="disabled" /><i class="icon-save"></i> {l s='Save'}</button>
</div>
</div>
<span id="note_feedback"></span>
</form>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-envelope"></i> {l s='Messages'} <span class="badge">{count($messages)}</span>
</div>
{if count($messages)}
<table class="table">
<thead>
<th>{l s='Status'}</th>
<th>{l s='Message'}</th>
<th>{l s='Sent on'}</th>
</thead>
{foreach $messages AS $message}
<tr>
<td>{$message['status']}</td>
<td>
<a href="index.php?tab=AdminCustomerThreads&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread&token={getAdminToken tab='AdminCustomerThreads'}">
{$message['message']}...
</a>
</td>
<td>{$message['date_add']}</td>
</tr>
{/foreach}
</table>
{else}
{l s='%1$s %2$s has never contacted you' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-ticket"></i> {l s='Vouchers'} <span class="badge">{count($discounts)}</span>
</div>
{if count($discounts)}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Code'}</th>
<th>{l s='Date'}</th>
<th>{l s='Name'}</th>
<th>{l s='Status'}</th>
<th>{l s='Actions'}</th>
<tr/>
</thead>
<tbody>
{foreach $discounts AS $key => $discount}
<tr>
<td align="center">{$discount['id_cart_rule']}</td>
<td>{$discount['code']}</td>
<td>{$discount['name']}</td>
<td align="center">
<img src="../img/admin/{if $discount['active']}enabled.gif{else}disabled.gif{/if}" alt="{l s='Status'}" title="{l s='Status'}" />
</td>
<td align="center">
<a href="?tab=AdminCartRules&id_cart_rule={$discount['id_cart_rule']}&addcart_rule&token={getAdminToken tab='AdminCartRules'}">
<img src="../img/admin/edit.gif" />
</a>
<a href="?tab=AdminCartRules&id_cart_rule={$discount['id_cart_rule']}&deletecart_rule&token={getAdminToken tab='AdminCartRules'}">
<img src="../img/admin/delete.gif" />
</a>
</td>
</tr>
</tbody>
{/foreach}
</table>
{else}
{l s='%1$s %2$s has no discount vouchers' sprintf=[$customer->firstname, $customer->lastname]}.
{/if}
</div>
{if count($connections)}
<div class="panel">
<div class="panel-heading">
<i class="icon-time"></i> {l s='Last connections'}
</div>
<table class="table">
<thead>
<tr>
<th>{l s='Date'}</th>
<th>{l s='Pages viewed'}</th>
<th>{l s='Total time'}</th>
<th>{l s='Origin'}</th>
<th>{l s='IP Address'}</th>
</tr>
</thead>
<tbody>
{foreach $connections as $connection}
<tr>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$connection['pages']}</td>
<td>{$connection['time']}</td>
<td>{$connection['http_referer']}</td>
<td>{$connection['ipaddress']}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
<div class="panel">
<div class="panel-heading">
<i class="icon-group"></i> {l s='Groups'} <span class="badge">{count($groups)}</span>
</div>
{if $groups AND count($groups)}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Name'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $groups AS $key => $group}
<tr onclick="document.location = '?tab=AdminGroups&id_group={$group['id_group']}&viewgroup&token={getAdminToken tab='AdminGroups'}'">
<td>{$group['id_group']}</td>
<td>{$group['name']}</td>
<td class="center">
<a class="btn btn-default" href="?tab=AdminGroups&id_group={$group['id_group']}&viewgroup&token={getAdminToken tab='AdminGroups'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
<a class="btn btn-default" href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
</div>
</div>
{*todo add next elements*}
{if count($interested)}
<div class="panel">
<div class="panel-heading">
<i class="icon-archive"></i> {l s='Products:'} <span class="badge">{count($interested)}</span>
</div>
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Name'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $interested as $key => $p}
<tr onclick="document.location = '{$p['url']}'">
<td>{$p['id']}</td>
<td>{$p['name']}</td>
<td align="center">
<a class="btn btn-default" href="{$p['url']}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
{if count($referrers)}
<div class="panel">
<div class="panel-heading">
<i class="icon-share-alt"></i> {l s='Referrers'}
</div>
<table class="table">
<thead>
<tr>
<th>{l s='Date'}</th>
<th>{l s='Name'}</th>
{if $shop_is_feature_active}<th>{l s='Shop'}</th>{/if}
</tr>
</thead>
<tbody>
{foreach $referrers as $referrer}
<tr>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$referrer['name']}</td>
{if $shop_is_feature_active}<td>{$referrer['shop_name']}</td>{/if}
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
{* display hook specified to this page : AdminCustomers *}
{hook h="displayAdminCustomers" id_customer=$customer->id}
<div class="col-lg-12">
<div class="panel">
<div class="panel-heading">
<i class="icon-map-marker"></i> {l s='Addresses'} <span class="badge">{count($addresses)}</span>
</div>
{if count($addresses)}
<table class="table">
<thead>
<tr>
<th>{l s='Company'}</th>
<th>{l s='Name'}</th>
<th>{l s='Address'}</th>
<th>{l s='Country'}</th>
<th>{l s='Phone number(s)'}</th>
<th class="center">{l s='Actions'}</th>
{if $shop_is_feature_active}<th>{l s='Shop'}</th>{/if}
</tr>
</thead>
<tbody>
{foreach $addresses AS $key => $address}
{foreach $referrers as $referrer}
<tr>
<td>{if $address['company']}{$address['company']}{else}--{/if}</td>
<td>{$address['firstname']} {$address['lastname']}</td>
<td>{$address['address1']} {if $address['address2']}{$address['address2']}{/if} {$address['postcode']} {$address['city']}</td>
<td>{$address['country']}</td>
<td>
{if $address['phone']}
{$address['phone']}
{if $address['phone_mobile']}<br />{$address['phone_mobile']}{/if}
{else}
{if $address['phone_mobile']}<br />{$address['phone_mobile']}{else}--{/if}
{/if}
</td>
<td>
<div class="btn-group">
<a class="btn btn-default" data-toggle="dropdown" href="?tab=AdminAddresses&id_address={$address['id_address']}&addaddress&token={getAdminToken tab='AdminAddresses'}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="?tab=AdminAddresses&id_address={$address['id_address']}&deleteaddress&token={getAdminToken tab='AdminAddresses'}">
<i class="icon-trash"></i> {l s='Delete'}
</a></li>
</ul>
</div>
</td>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$referrer['name']}</td>
{if $shop_is_feature_active}<td>{$referrer['shop_name']}</td>{/if}
</tr>
{/foreach}
</tbody>
</table>
{else}
{l s='%1$s %2$s has not registered any addresses yet' sprintf=[$customer->firstname, $customer->lastname]}
</div>
{/if}
</div>
</div>
<div class="row">
{* display hook specified to this page : AdminCustomers *}
{hook h="displayAdminCustomers" id_customer=$customer->id}
<div class="col-lg-12">
<div class="panel">
<div class="panel-heading">
<i class="icon-map-marker"></i> {l s='Addresses'} <span class="badge">{count($addresses)}</span>
</div>
{if count($addresses)}
<table class="table">
<thead>
<tr>
<th>{l s='Company'}</th>
<th>{l s='Name'}</th>
<th>{l s='Address'}</th>
<th>{l s='Country'}</th>
<th>{l s='Phone number(s)'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $addresses AS $key => $address}
<tr>
<td>{if $address['company']}{$address['company']}{else}--{/if}</td>
<td>{$address['firstname']} {$address['lastname']}</td>
<td>{$address['address1']} {if $address['address2']}{$address['address2']}{/if} {$address['postcode']} {$address['city']}</td>
<td>{$address['country']}</td>
<td>
{if $address['phone']}
{$address['phone']}
{if $address['phone_mobile']}<br />{$address['phone_mobile']}{/if}
{else}
{if $address['phone_mobile']}<br />{$address['phone_mobile']}{else}--{/if}
{/if}
</td>
<td>
<div class="btn-group">
<a class="btn btn-default" data-toggle="dropdown" href="?tab=AdminAddresses&id_address={$address['id_address']}&addaddress&token={getAdminToken tab='AdminAddresses'}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="?tab=AdminAddresses&id_address={$address['id_address']}&deleteaddress&token={getAdminToken tab='AdminAddresses'}">
<i class="icon-trash"></i> {l s='Delete'}
</a></li>
</ul>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
{else}
{l s='%1$s %2$s has not registered any addresses yet' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
</div>
</div>
</div>
{/block}