
{extends file="admin-layout.tpl"}

{block name="page-title"}{intl l='Customer'}{/block}

{block name="check-resource"}admin.customer{/block}
{block name="check-access"}view{/block}

{block name="main-content"}
    <div class="customer">
        <div id="wrapper" class="container">

            <ul class="breadcrumb">
                <li><a href="{url path='/admin/home'}">{intl l="Home"}</a></li>
                <li><a href="{url path='/admin/customers'}">{intl l="Customers"}</a></li>
            </ul>

            {module_include location='customer_top'}

            <div class="row">
                <div class="col-md-12">
                    <div class="general-block-decorator">
                        {if $removal_error }
                            <div class="alert alert-danger fade in">
                                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                                <h4 class="modal-title">{$error_message}</h4>
                            </div>
                        {/if}
                        <div class="table-responsive">
                            <table class="table table-striped table-condensed" id="customer_list">
                                <caption>
                                    {intl l="Customers list"}

                                    {module_include location='customer_list_caption'}

                                    {loop type="auth" name="can_create" role="ADMIN" resource="admin.customer" access="CREATE"}
                                        <a class="btn btn-default btn-primary action-btn" title="{intl l='Add a new Customer'}" href="#add_customer_dialog" data-toggle="modal">
                                            <span class="glyphicon glyphicon-plus-sign"></span>
                                        </a>
                                    {/loop}
                                </caption>

                                {ifloop rel="customer_list"}
                                    <thead>
                                    <tr>
                                        <th class="object-title">
                                            {admin_sortable_header
                                                current_order=$customer_order
                                                order='reference'
                                                reverse_order='reference_reverse'
                                                path={url path='/admin/customers'}
                                                request_parameter_name='customer_order'
                                                label="{intl l='Reference'}"
                                            }
                                        </th>

                                        {module_include location='customer_list_header'}

                                        <th class="object-title">
                                            {admin_sortable_header
                                                current_order=$customer_order
                                                order='lastname'
                                                reverse_order='lastname_reverse'
                                                path={url path='/admin/customers'}
                                                request_parameter_name='customer_order'
                                                label="{intl l='Last name'}"
                                            }
                                        </th>

                                        <th class="object-title">
                                            {admin_sortable_header
                                                current_order=$customer_order
                                                order='firstname'
                                                reverse_order='firstname_reverse'
                                                path={url path='/admin/customers'}
                                                request_parameter_name='customer_order'
                                                label="{intl l='First name'}"
                                            }
                                        </th>

                                        <th class="object-title">
                                            {admin_sortable_header
                                                current_order=$customer_order
                                                order='registration_date'
                                                reverse_order='registration_date_reverse'
                                                path={url path='/admin/customers'}
                                                request_parameter_name='customer_order'
                                                label="{intl l='Registration date'}"
                                            }
                                        </th>

                                        <th class="object-title">{intl l='Date of last order'}</th>
                                        <th class="object-title">{intl l='Last order amount'}</th>

{* TODO
                                        <th class="object-title">
                                            {admin_sortable_header
                                                current_order=$customer_order
                                                order='last_order'
                                                reverse_order='last_order_reverse'
                                                path={url path='/admin/customers'}
                                                request_parameter_name='customer_order'
                                                label="{intl l='Date of last order'}"
                                            }
                                        </th>

                                        <th class="object-title">
                                            {admin_sortable_header
                                                current_order=$customer_order
                                                order='order_amount'
                                                reverse_order='order_amount_reverse'
                                                path={url path='/admin/customers'}
                                                request_parameter_name='customer_order'
                                                label="{intl l='Last order amount'}"
                                            }
                                        </th>
*}
                                        <th class="actions">{intl l='Actions'}</th>
                                    </tr>
                                    </thead>

                                    <tbody>
                                    {loop name="customer_list" type="customer" current="false" visible="*" order=$customer_order backend_context="1" page=$page limit=#max_displayed_customers#}
                                        {assign "lastOrderDate" ''}
                                        {assign "lastOrderAmount" ''}
                                        {assign "lastOrderCurrency" ''}

                                        {loop type="order" name="last-order" customer=$ID order="create-date-reverse" limit="1"}
                                            {assign "lastOrderDate" "{format_date date=$CREATE_DATE}"}
                                            {assign "lastOrderAmount" "{format_number number=$TOTAL_TAXED_AMOUNT}"}
                                            {loop type="currency" name="order-currency" id=$CURRENCY}
                                                {assign "lastOrderCurrency" $SYMBOL}
                                            {/loop}
                                        {/loop}

                                        <tr>
                                            <td><a href="{url path="/admin/customer/update" customer_id=$ID page=$page}">{$REF}</a></td>

                                            <td class="object-title">
                                               {$LASTNAME}
                                            </td>

                                            <td class="object-title">
                                                {$FIRSTNAME}
                                            </td>


                                            {module_include location='customer_list_row'}

                                            <td>
                                                {format_date date=$CREATE_DATE}
                                            </td>

                                            <td>
                                                {$lastOrderDate}
                                            </td>

                                            <td>
                                                {$lastOrderCurrency} {$lastOrderAmount}
                                            </td>
                                            <td class="actions">
                                                <div class="btn-group">

                                                    {loop type="auth" name="can_change" role="ADMIN" resource="admin.customer" access="UPDATE"}
                                                        <a class="btn btn-default btn-xs" title="{intl l='Edit this customer'}" href="{url path='/admin/customer/update' customer_id=$ID page=$page}"><i class="glyphicon glyphicon-edit"></i></a>
                                                    {/loop}
                                                    {loop type="auth" name="can_send_mail" role="ADMIN" resource="admin.customer" access="VIEW"}
                                                        <a class="btn btn-default btn-xs" title="{intl l="Send a mail to this customer"}" href="mailto:{$EMAIL}"><span class="glyphicon glyphicon-envelope"></span></a>
                                                    {/loop}
                                                    {loop type="auth" name="can_delete" role="ADMIN" resource="admin.customer" access="DELETE"}
                                                        <a class="btn btn-default btn-xs customer-delete" title="{intl l='Delete this customer and all his orders'}"  href="#delete_customer_dialog" data-id="{$ID}" data-toggle="modal"><span class="glyphicon glyphicon-trash"></span></a>
                                                    {/loop}
                                                </div>
                                            </td>

                                        </tr>
                                    {/loop}
                                    </tbody>
                                    <tfoot>
                                        <tr>
                                            <td colspan="6">
                                                {include
                                                    file = "includes/pagination.html"

                                                    loop_ref       = "customer_list"
                                                    max_page_count = 10
                                                    page_url       = "{url path="/admin/customers" customer_order=$customer_order}"
                                                }

                                            </td>
                                        </tr>
                                    </tfoot>
                                {/ifloop}
                            </table>
                        </div>
                    </div>
                </div>
            </div>


    {module_include location='customer_bottom'}

    {* Adding a new Category *}


    {form name="thelia.admin.customer.create"}

        {* Capture the dialog body, to pass it to the generic dialog *}
        {capture "customer_creation_dialog"}

            {form_hidden_fields form=$form}

            {form_field form=$form field='success_url'}
               {* on success, redirect to the edition page, _ID_ is replaced with the created object ID, see controller  *}
               <input type="hidden" name="{$name}" value="{url path='/admin/customer/update' customer_id='_ID_'}" />
            {/form_field}

            {form_field form=$form field="password"}
                <input type="hidden" name="{$name}" value="random" />
            {/form_field}

            {form_field form=$form field="password_confirm"}
                <input type="hidden" name="{$name}" value="random" />
            {/form_field}

            {form_field form=$form field="agreed"}
                <input type="hidden" name="{$name}" value="on" />
            {/form_field}

            {form_field form=$form field='company'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>
                    <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='Company'}">
                </div>
            {/form_field}

            {form_field form=$form field='title'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>

                    <select name="{$name}" id="{$label_attr.for}" class="form-control">
                        {loop type="title" name="title1"}
                            <option value="{$ID}">{$LONG}</option>
                        {/loop}
                    </select>
                </div>
            {/form_field}

            {form_field form=$form field='firstname'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>
                    <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='Firstname'}">
                </div>
            {/form_field}

            {form_field form=$form field='lastname'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>
                    <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='Lastname'}">
                </div>
            {/form_field}

            {form_field form=$form field='address1'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>
                    <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='Address'}">
                </div>

                <div class="form-group">
                    {form_field form=$form field='address2'}
                        <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='Additional address'}">
                    {/form_field}
                </div>

                <div class="form-group">
                    {form_field form=$form field='address3'}
                        <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='Additional address'}">
                    {/form_field}
                </div>
            {/form_field}

            {form_field form=$form field='zipcode'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>
                    <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='Zip code'}">
                </div>
            {/form_field}

            {form_field form=$form field='city'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>
                    <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='City'}">
                </div>
            {/form_field}

            {form_field form=$form field='country'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>
                    <select name="{$name}" id="{$label_attr.for}" class="form-control">
                        {loop type="country" name="country1"}
                            <option value="{$ID}">{$TITLE}</option>
                        {/loop}
                    </select>
                </div>
            {/form_field}

            {form_field form=$form field='email'}
                <div class="form-group {if $error}has-error{/if}">
                    <label for="{$label_attr.for}" class="control-label">{$label} : </label>
                    <input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$value}" title="{$label}" placeholder="{intl l='Email address'}">
                </div>
            {/form_field}

            {module_include location='customer_create_form'}

        {/capture}

        {include
            file = "includes/generic-create-dialog.html"

            dialog_id    = "add_customer_dialog"
            dialog_title = {intl l="Create a new customer"}
            dialog_body  = {$smarty.capture.customer_creation_dialog nofilter}

            dialog_ok_label     = {intl l="Create this customer"}
            dialog_cancel_label = {intl l="Cancel"}

            form_action        = {url path='/admin/customer/create'}
            form_enctype       = {form_enctype form=$form}
            form_error_message = $form_error_message
        }
    {/form}

    {* Delete confirmation dialog *}

    {capture "delete_customer_dialog"}
        <input type="hidden" name="page" value="{$page}">
        <input type="hidden" name="customer_id" id="delete_customer_id">

        {module_include location='customer_delete_form'}
    {/capture}

    {include
        file = "includes/generic-confirm-dialog.html"

        dialog_id       = "delete_customer_dialog"
        dialog_title    = {intl l="Delete customer"}
        dialog_message  = {intl l="Do you really want to delete this customer ?"}

        form_action         = {url path='/admin/customer/delete'}
        form_content        = {$smarty.capture.delete_customer_dialog nofilter}
        form_id             = "form_delete_customer"
    }

{/block}

{block name="javascript-initialization"}

        <script type="text/javascript">
            $(".customer-delete").click(function(){
                $("#delete_customer_id").val($(this).attr("data-id"));
            });
        </script>

{/block}

{block name="javascript-last-call"}
    {module_include location='customers-js'}
{/block}