<div class="general-block-decorator">
    <div class="table-responsive">
        <table class="table table-striped table-condensed table-left-aligned">
            <caption class="clearfix">
                {$caption_title|default:{intl l='classic modules'}}
            </caption>
            <thead>
            <tr>
                <th>
                {admin_sortable_header
                   current_order=$module_order
                   order='id'
                   reverse_order='id_reverse'
                   path={url path='/admin/modules'}
                   request_parameter_name='module_order'
                   label="{intl l='ID'}"
                }
                </th>

                <th>&nbsp;</th>

                <th>
                {admin_sortable_header
                   current_order=$module_order
                   order='title'
                   reverse_order='title_reverse'
                   path={url path='/admin/modules'}
                   request_parameter_name='module_order'
                   label="{intl l='Name'}"
                }
                </th>

                <th>
                {admin_sortable_header
                   current_order=$module_order
                   order='code'
                   reverse_order='code_reverse'
                   path={url path='/admin/modules'}
                   request_parameter_name='module_order'
                   label="{intl l='Code'}"
                }
                </th>

                <th>{intl l="version"}</th>

                <th class="text-center">
                {admin_sortable_header
                   current_order=$module_order
                   order='enabled'
                   reverse_order='enabled_reverse'
                   path={url path='/admin/modules'}
                   request_parameter_name='module_order'
                   label="{intl l='Enable/Disable'}"
                }
                </th>

                <th class="text-center">
                {admin_sortable_header
                   current_order=$module_order
                   order='manual'
                   reverse_order='manual_reverse'
                   path={url path='/admin/modules'}
                   request_parameter_name='module_order'
                   label="{intl l='Position'}"
                }
                </th>

                {hook name="modules.table-header" location="modules_table_header" }

                <th class="actions">{intl l="Actions"}</th>
            </tr>
            </thead>

            <tbody>

            {$hidden = $smarty.post.hidden|default:'0'}

            {loop type="module" name="module.{$module_type}" module_type={$module_type|default:1} order=$module_order backend_context=1 hidden=$hidden }
                {loop type="auth" role="ADMIN" name="can_view_module.{$module_type}" access="VIEW" resource="admin.module" module=$CODE}
                <tr id="module-{$ID}" {if ! $EXISTS || $MANDATORY}class="warning"{/if}>
                    <td>{$ID}</td>
                    <td nowrap>
                        <a href="#" class="module-information text-info" data-id="{$ID}" title="{intl l='Get more information about this module'}"><span class="glyphicon glyphicon-question-sign"></span></a>
                        <a href="#" class="module-documentation text-primary" data-id="{$ID}" title="{intl l='Read module documentation'}"><span class="glyphicon glyphicon-book"></span></a>
                    </td>
                    <td>
                        {$allowed = false}
                        {loop type="auth" name="auth" role='ADMIN' resource=$CODE access='VIEW'}
                            {$allowed = true}
                        {/loop}

                        {if $allowed && $CONFIGURABLE == 1 && $ACTIVE}
                            <a href="{url path="/admin/module/%code" code=$CODE}" title="{intl l='Configure this module'}">{$TITLE}</a>
                        {else}
                            {$TITLE}
                        {/if}
                    </td>
                    <td>{$CODE}</td>
                    <td>{$VERSION}</td>

                    {if $EXISTS}
                        <td class="text-center">

                            {if $MANDATORY ne 1 || $ACTIVE eq 0}
                            <div class="make-switch switch-small module-activation" data-mandatory="{$MANDATORY}" data-id="{$ID}" data-on="success" data-off="danger" data-on-label="<i class='glyphicon glyphicon-ok-circle'></i>" data-off-label="<i class='glyphicon glyphicon-remove-circle'></i>">
                                <input type="checkbox" {if $ACTIVE}checked{/if}>
                            </div>
                            <noscript>
                                {if $ACTIVE}
                                    <a title="{intl l="Deactivate %title module" title={$TITLE}}" href="{url path="/admin/module/toggle-activation/%id" id=$ID}">{intl l="deactivation"}</a>
                                {else}
                                    <a title="{intl l="activate %title module" title={$TITLE}}" href="{url path="/admin/module/toggle-activation/%id" id=$ID}">{intl l="activation"}</a>
                                {/if}
                            </noscript>
                            {else}
                            <i class="glyphicon glyphicon-ban-circle text-danger" aria-hidden="true"></i>
                            {/if}

                        </td>

                        <td class="text-center">
                            {admin_position_block
                                resource="admin.modules"
                                access="UPDATE"
                                path={url path="admin/module/update-position"}
                                url_parameter="module_id"
                                in_place_edit_class="modulePositionChange"
                                position=$POSITION
                                id=$ID
                            }
                        </td>
                    {else}
                        <td colspan="2" class="text-left">
                            <span class="label label-warning">Warning</span>
                            {intl l="This module cannot be started, some files are probably missing."}
                        </td>
                    {/if}

                    {hook name="modules.table-row" location="modules_table_row" module_code={$CODE} }

                    <td class="actions">
                        {if $module_type == 2}
                            {ifloop rel="area-attached"}
                                {$zones=""}
                                {loop name="area-attached" type="area" module_id=$ID}
                                    {$zones="`$zones`, `$NAME`"}
                                    {$zone_count=$LOOP_TOTAL}
                                {/loop}
                                {$title={intl l='%count shipping zone(s) are attached to this module: %zones. Click here to change' count={$zone_count}  zones={$zones|ltrim:', '}}}
                                {$btnstyle="btn-info"}
                                {$icon=''}
                            {/ifloop}
                            {elseloop rel="area-attached"}
                                {$title={intl l='No shipping zone attached to this module, click here to attach one'}}
                                {$icon='<span class="glyphicon glyphicon glyphicon-exclamation-sign"></span> '}
                                {$btnstyle="btn-danger"}
                            {/elseloop}

                            <a class="{if ! $ACTIVE}disabled {/if} btn {$btnstyle} config-btn-{$ID} btn-area-config" title="{$title}" href="{url path="/admin/configuration/shipping_zones/update/%id" id=$ID}">{$icon nofilter}{intl l="Shipping zones"}</a>
                        {/if}

                        {$buttons = []}

                        {if $EXISTS}
                            {if $CONFIGURABLE == 1 && $ACTIVE}
                                {$buttons[] = [
                                    'type' => 'config',
                                    'class' => "config-btn-$ID",
                                    'title' => {intl l='Configure this module'},
                                    'href' => {url path="/admin/module/%code" code=$CODE},
                                    'auth' => ['resource' => $CODE]
                                ]}
                            {/if}

                            {if $HOOKABLE && $ACTIVE}
                                {$buttons[] = [
                                    'type' => 'hook',
                                    'class' => "hook-btn-$ID",
                                    'title' => {intl l="Manage its hooks"},
                                    'href' => {url path="/admin/module-hooks" module=$ID},
                                    'auth' => ['resource' => 'admin.module-hook']
                                ]}
                            {/if}

                            {$buttons[] = [
                                'type' => 'edit',
                                'class' => "hook-btn-$ID",
                                'title' => {intl l='Edit this module'},
                                'href' => {url path="/admin/module/update/%id" id=$ID},
                                'auth' => ['resource' => 'admin.module']
                            ]}
                        {/if}

                        {if $MANDATORY ne 1}
                            {$buttons[] = [
                                'type' => 'delete',
                                'class' => "module-delete-action",
                                'title' => {intl l='Delete this module'},
                                'href' => "#delete_module_dialog",
                                'data' => [
                                    'id' => $ID,
                                    'toggle' => 'modal'
                                ],
                                'auth' => ['resource' => 'admin.module']
                            ]}
                        {/if}

                        {include file='renderer/buttons.html' buttons=$buttons}
                    </td>
                </tr>
                {/loop}
            {/loop}
            {elseloop rel="module.`$module_type`"}
            <tr>
                <td colspan="8">
                    <br />
                    <div class="alert alert-info">
                        {intl l="No module of this type was found."}
                    </div>
                </td>
            </tr>
            {/elseloop}
            </tbody>
        </table>
    </div>
</div>
