Added a basic show part info with new design. Not finished yet...

This commit is contained in:
Jan Böhmer 2019-02-24 18:05:06 +01:00
parent f8bd1458d3
commit f0bea8ff4d
22 changed files with 7883 additions and 25 deletions

View file

@ -1,12 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock %}</title>
{% block stylesheets %}{% endblock %}
</head>
<body>
{% block body %}{% endblock %}
{% block javascripts %}{% endblock %}
</body>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>{% block title %}Part-DB{% endblock %}</title>
{% block stylesheets %}
{{ encore_entry_link_tags('app') }}
{% endblock %}
</head>
<body>
{% block body %}
<div class="container-fluid">
{% block content %}
{% endblock %}
</div>
{% endblock %}
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{% endblock %}
</body>
</html>

View file

@ -0,0 +1,15 @@
{% if list != null %}
<ul class="structural_link">
{% for element in list %}
<li {% if element.selected != null %}class="active"{% endif %}>
{% if element.href %}
<a href="{{ element.href }}">{if $element.label}{$element.label}{/if}</a>
{% else %}
{$element.label}
{% endif %}
</li>
{% endfor %}
</ul>
{% else %}
<div class="form-control-static">-</div>
{% endif %}

View file

@ -0,0 +1,298 @@
{% extends "base.html.twig" %}
{% block title %}
{% trans %}Detail info for{% endtrans %} {{ part.name }}
{% endblock %}
{% block content %}
<div class="card border-primary">
<div class="card-header bg-primary text-white">
<i class="fa {{ part.favorite ? 'fa-star' : 'fa-info-circle'}} fa-fw" aria-hidden="true"></i>
{% trans %}Detail info for{% endtrans %} <b>"{{ part.name }}"</b>
<div class="float-right">
{% trans %}ID:{% endtrans %} {{ part.id }}
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-9">
<div class="row">
<div class="col-md-3">
<img src="https://via.placeholder.com/300" class="img-fluid img-thumbnail" height="300" width="300">
</div>
<div class="col-md-9">
<h5 class="text-muted pt-2" title="{% trans %}Manufacturer{% endtrans %}">{{ part.manufacturer.name ?? ""}}</h5>
<h3>{{ part.name }}</h3>
<h6 class="text-muted"><span title="{% trans %}Description{% endtrans %}">{{ part.description }}</span></h6>
<h6 class="" title="{% trans %}Store location{% endtrans %}">
<i class="fas fa-cube fa-fw"></i>
<span class="text-muted">{{ part.storelocation.fullPath ?? "-"}}</span>
</h6>
<h6><i class="fas fa-shapes fa-fw"></i>
<span class="text-muted">
<span title="{% trans %}Instock{% endtrans %}">{{ part.instock }}</span>
/
<span title="{% trans %}Minimum Instock{% endtrans %}">{{ part.mininstock }}</span>
</span>
</h6>
<h6 class="" title="{% trans %}Footprint{% endtrans %}">
<i class="fas fa-microchip fa-fw" ></i>
<span class="text-muted">{{ part.footprint.fullPath ?? "-"}}</span>
</h6>
<h6 title="{% trans %}Average price{% endtrans %}">
<i class="fas fa-money-bill-alt fa-fw"></i>
<span class="text-muted">{{ part.averagePrice }}</span>
</h6>
<h6 title="{% trans %}Comment{% endtrans %}">
<i class="fas fa-comment-alt fa-fw"></i>
<span class="text-muted">{{ part.comment }}</span>
</h6>
</div>
</div>
<div class="mt-3">
<ul class="nav nav-tabs" id="partTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="attachment-tab" data-toggle="tab"
href="#attachments" role="tab" aria-controls="home" aria-selected="true">
<i class="fas fa-paperclip fa-fw"></i>
{% trans %}Attachments{% endtrans %}
</a>
</li>
<li class="nav-item">
<a class="nav-link" id="supplier-tab" data-toggle="tab" href="#suppliers" role="tab" aria-controls="profile" aria-selected="false">
<i class="fas fa-shopping-cart fa-fw"></i>
{% trans %}Shopping Informations{% endtrans %}
</a>
</li>
<li class="nav-item">
<a class="nav-link" id="history-tab" data-toggle="tab" href="#history" role="tab" aria-controls="contact" aria-selected="false">
<i class="fas fa-history"></i>
{% trans %}History{% endtrans %}
</a>
</li>
<li class="nav-item">
<a class="nav-link" id="tools-tab" data-toggle="tab" href="#tools" role="tab" aria-controls="contact" aria-selected="false">
<i class="fas fa-tools"></i>
{% trans %}Tools{% endtrans %}
</a>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="attachments" role="tabpanel" aria-labelledby="home-tab">
</div>
<div class="tab-pane fade" id="suppliers" role="tabpanel" aria-labelledby="profile-tab">
</div>
<div class="tab-pane fade" id="history" role="tabpanel" aria-labelledby="profile-tab">
TODO
</div>
<div class="tab-pane fade" id="tools" role="tabpanel" aria-labelledby="contact-tab">
<form class="mt-3">
<div class="form-group">
<label>{% trans %}Delete part:{% endtrans %}</label>
<button class="btn btn-danger">{% trans %}Delete part{% endtrans %}</button>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<form action="" method="post" class="d-print-none no-progbar">
<input type="hidden" name="pid" value="{$pid}">
<div class="row">
<div class="col-md-12">
<label for="n_less">{% trans %}Withdraw parts:{% endtrans %}</label>
<div class="input-group">
<input type="number" class="form-control" name="n_less" min="0" max="999999" value="1" placeholder="Anzahl">
<div class="input-group-append">
<div class="btn-group">
<button type="submit" class="btn btn-outline-secondary btn-group-append" name="dec"> {% trans %}Withdraw{% endtrans %}</button>
<button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<div class="dropdown-menu">
<div class="px-4 py-3">
<div class="form-group">
<label>{% trans %}Comment/Purpose:{% endtrans %}</label>
<input type="text" class="form-control" name="instock_change_comment" placeholder="{{ "TODO" }}">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<p></p>
<form action="" method="post" class="d-print-none no-progbar">
<input type="hidden" name="pid" value="{$pid}">
<div class="row">
<div class="col-md-12">
<label for="n_more">{% trans %}Add parts:{% endtrans %}</label>
<div class="input-group">
<input type="number" class="form-control" name="n_more" min="0" max="999999" value="1">
<div class="input-group-append">
<div class="btn-group">
<button type="submit" class="btn btn-outline-secondary btn-group-append" name="inc" >{% trans %}Add{% endtrans %}</button>
<button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<div class="dropdown-menu">
<div class="px-4 py-3">
<div class="form-group">
<label>{% trans %}Comment/Purpose:{% endtrans %}</label>
<input type="text" class="form-control" name="instock_change_comment" placeholder="TODO">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<p></p>
{#
{if $can_order_read && !$instock_unknown}
<form action="" method="post" class="d-print-none no-progbar">
<input type="hidden" name="pid" value="{$pid}">
<div class="row">
<div class="col-md-12">
{if $manual_order_exists}
<label for="remove_mark_to_order">{% trans %}Bauteil wurde manuell zum Bestellen vorgemerkt.{% endtrans %}</label>
<button type="submit" class="btn btn-outline-secondary"
name="remove_mark_to_order" >
{% trans %}Aufheben{% endtrans %}</button>
{else}
{if $auto_order_exists}
<i>{% trans %}Das Bauteil wird unter "Zu bestellende Teile"aufgelistet, da der Bestand kleiner als der Mindestbestand ist.{% endtrans %}</i>
{else}
<label for="order_quantity">{% trans %}Zum Bestellen vormerken:{% endtrans %}</label>
<div class="input-group">
<input type="number" min="0" max="999999" class="form-control" value="1" name="order_quantity"
placeholder="Bestellmenge" {if !$can_order_edit}disabled{/if}><br>
<span class="input-group-append">
<button type="submit" class="btn btn-outline-secondary"
name="mark_to_order" {if !$can_order_edit}disabled{/if}>{% trans %}Übernehmen{% endtrans %}</button>
</span>
</div>
{/if}
{/if}
</div>
</div>
</form>
{/if}
#}
<p></p>
<div class="form-group">
<label>{% trans %}Created at:{% endtrans %}</label>
<p>{{ part.datetimeAdded | date}}
{#{if !empty($creation_user)} {% trans %}durch{% endtrans %}
{if $can_visit_user}
<a href="{$relative_path}user_info.php?uid={$creation_user_id}">{$creation_user}</a>
{else}
{$creation_user}
{/if}
{/if} #}
</p>
</div>
<p></p>
<div class="form-group">
<label>{% trans %}Last modified:{% endtrans %}</label>
<p>{{ part.lastModified | date }}
{# {if !empty($last_modified_user)} {% trans %}durch{% endtrans %}
{if $can_visit_user}
<a href="{$relative_path}user_info.php?uid={$last_modified_user_id}">{$last_modified_user}</a>
{else}
{$last_modified_user}
{/if}
{/if} #}
</p>
</div>
<p></p>
{#
<form action="show_part_label.php" class="d-print-none">
{if $can_generate_barcode}
{if count($barcode_profiles) > 0}
<input type="hidden" name="label_generate">
<input type="hidden" name="id" value="{$pid}">
<div class="btn-group btn-block">
<button type="submit" class="btn btn-secondary btn-block"><i class="fa fa-barcode fa-fw" aria-hidden="true"></i>
{% trans %}Barcode erzeugen{% endtrans %}</button>
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu dropdown-menu-right" id="label-dropdown">
{foreach $barcode_profiles as $profile}
<a href="#" class="link-anchor dropdown-item" onclick="submitFormSubmitBtn($(this).closest('form'), $('#profile_btn_{$profile|replace:" ":"_"}'));">{$profile}</a>
<button type="submit" name="profile" id="profile_btn_{$profile|replace:" ":"_"}" value="{$profile}" class="d-none">{$profile}</button>
{/foreach}
</ul>
</div>
{else}
<input type="hidden" name="id" value="{$pid}">
<input type="hidden" name="generator" value="part">
<input type="hidden" name="size" value="50x30">
<input type="hidden" name="preset" value="Preset A">
<input type="hidden" name="label_generate">
<button type="submit" class="btn btn-secondary btn-block"><i class="fa fa-barcode fa-fw" aria-hidden="true"></i>
{% trans %}Barcode erzeugen{% endtrans %}</button>
{/if}
</form>
<p></p>
{/if}
<div class=" d-print-none">
<button type="button" class="btn btn-secondary btn-block" onclick="window.print();"><i class="fa fa-print fa-fw" aria-hidden="true"></i>
{% trans %}Übersicht drucken{% endtrans %}
</button>
</div>
<p></p>
<div class=" d-print-none">
<div class="dropdown">
<button class="btn btn-secondary btn-block dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="fa fa-file fa-fw" aria-hidden="true"></i> {% trans %}Datenblattlinks{% endtrans %}
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
{foreach $datasheet_loop as $sheet}
<li>
<a class="link-datasheet datasheet dropdown-item" title="{$sheet.name}" href="{$sheet.url}" target="_blank">
<img class="companypic-bg" src="{$relative_path}{$sheet.image}" alt="{$sheet.name}">
&nbsp;{$sheet.name}
</a>
</li>
{/foreach}
</ul>
</div>
</div>
</div>
#}
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -0,0 +1,329 @@
{% extends "base.html.twig" %}
{% block content %}
<div class="card border-primary">
<div class="card-header bg-primary text-white">
<i class="fa {{ part.favorite ? 'fa-star' : 'fa-info-circle'}} fa-fw" aria-hidden="true"></i>
{% trans %}Detail info for{% endtrans %} <b>"{{ part.name }}"</b>
<div class="float-right">
{% trans %}ID:{% endtrans %} {{ part.id }}
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-9">
{#
<div class="form-horizontal">
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Name:{% endtrans %}</label>
<div class="col-sm-9">
{% if part.manufacturerProductUrl %}
<a class="form-control-link d-print-none-href link-external" target="_blank" title="{{ part.manufacturerProductUrl }}" href="{{ part.manufacturerProductUrl }}">{{part.name}}</a>
{% else %}
<p class="form-control-plaintext">{{ part.name }}</p>
{% endif %}
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Description:{% endtrans %}</label>
<div class="col-sm-9">
<p class="form-control-plaintext">
{% if part.description %}{{part.description}}{% else %}-{% endif %}
</p>
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Instock:{% endtrans %}</label>
<div class="col-sm-9">
<p class="form-control-plaintext">{{ part.instock }}</p>
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Mininmum Instock:{% endtrans %}</label>
<div class="col-sm-9"><p class="form-control-plaintext">{{ part.mininstock}}</p></div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Category:{% endtrans %}</label>
{#
<div class="col-sm-9">{* <a href="show_category_parts.php?cid={$category_id}" class="form-control-link d-print-none-href">{$category_full_path}</a>*}
{include "../smarty_structural_link.tpl" link=$category_path}
</div>
<div class="col-sm-9">TODO: {{ part.category.fullPath }}</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Storelocation:{% endtrans %}</label>
<div class="col-sm-9">
{# {include "../smarty_structural_link.tpl" link=$storelocation_path}
TODO: {{ part.storelocation.fullPath }}
</div>
</div>
{if !$disable_manufacturers}
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Hersteller:{% endtrans %}</label>
<div class="col-sm-9">
{include "../smarty_structural_link.tpl" link=$manufacturer_path}
</div>
</div>
{/if}
{if !$disable_footprints}
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Footprint:{% endtrans %}</label>
<div class="col-sm-9">
{include "../smarty_structural_link.tpl" link=$footprint_path}
</div>
</div>
{if !empty($footprint_filename) && $footprint_valid}
<div class="form-group row">
<div class="col-sm-9 offset-md-3">
<img align="middle" rel="popover" src="{$footprint_filename}" alt="" height="70">
</div>
</div>
{/if}
{if $foot3d_active && !empty($foot3d_filename) && $foot3d_valid}
<div class="form-group row">
<div class="col-sm-9 offset-md-3">
<x3d id="foot3d" class="img-thumbnail" height="150" width="500" >
<scene >
<!-- <Viewpoint id="front" position="0 0 10" orientation="-0.01451 0.99989 0.00319 3.15833" description="camera"></Viewpoint> -->
<transform>
<inline url="{$foot3d_filename}"> </inline>
</transform>
</scene>
<button class="btn btn-sm btn-outline-secondary" data-toggle="modal" data-target="#fullscreen"><i class="fa fa-arrows-alt" aria-hidden="true"></i></button>
</x3d>
</div>
</div>
{/if}
{/if}
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans %}Kommentar:{% endtrans %}</label>
<div class="col-sm-9">
<p class="form-control-plaintext">{if !empty($comment)}{$comment nofilter}{else}-{/if}</p>
</div>
</div>
{if $can_edit}
<div class="form-group d-print-none row mt-2">
<div class="col-sm-9 offset-sm-3">
<a class="btn btn-primary" href="edit_part_info.php?pid={$pid}">
<i class="fa fa-edit fa-fw" aria-hidden="true"></i> {% trans %}Angaben verändern{% endtrans %}</a>
</div>
</div>
{/if}
</div>
#}
<div class="row">
<div class="col-md-3">
<img src="https://via.placeholder.com/150" class="img-fluid img-thumbnail" height="150" width="150">
</div>
<div class="col-md-9">
<h5 class="text-muted">Hersteller</h5>
<h3>{{ part.name }}</h3>
</div>
</div>
</div>
<div class="col-md-3">
<form action="" method="post" class="d-print-none no-progbar">
<input type="hidden" name="pid" value="{$pid}">
<div class="row">
<div class="col-md-12">
<label for="n_less">{% trans %}Teile entnehmen:{% endtrans %}</label>
<div class="input-group">
<input type="number" class="form-control" name="n_less" min="0" max="999999" value="1" placeholder="Anzahl" {if !$can_instock || $instock_unknown}disabled{/if}>
<div class="input-group-append">
<div class="btn-group">
<button type="submit" class="btn btn-outline-secondary btn-group-append" name="dec" {if !$can_instock || $instock_unknown}disabled{/if}>{% trans %}Entnehmen{% endtrans %}</button>
<button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<div class="dropdown-menu">
<div class="px-4 py-3">
<div class="form-group">
<label>{% trans %}Kommentar/Zweck:{% endtrans %}</label>
<input type="text" class="form-control" name="instock_change_comment" placeholder="{$default_instock_change_comment_w}">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<p></p>
<form action="" method="post" class="d-print-none no-progbar">
<input type="hidden" name="pid" value="{$pid}">
<div class="row">
<div class="col-md-12">
<label for="n_more">{% trans %}Teile hinzufügen{% endtrans %}:</label>
<div class="input-group">
<input type="number" class="form-control" name="n_more" min="0" max="999999" value="1" {if !$can_instock || $instock_unknown}disabled{/if}>
<div class="input-group-append">
<div class="btn-group">
<button type="submit" class="btn btn-outline-secondary btn-group-append" name="inc" {if !$can_instock || $instock_unknown}disabled{/if}>{% trans %}Hinzufügen{% endtrans %}</button>
<button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<div class="dropdown-menu">
<div class="px-4 py-3">
<div class="form-group">
<label>{% trans %}Kommentar/Zweck:{% endtrans %}</label>
<input type="text" class="form-control" name="instock_change_comment" placeholder="{$default_instock_change_comment_a}">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<p></p>
{if $can_order_read && !$instock_unknown}
<form action="" method="post" class="d-print-none no-progbar">
<input type="hidden" name="pid" value="{$pid}">
<div class="row">
<div class="col-md-12">
{if $manual_order_exists}
<label for="remove_mark_to_order">{% trans %}Bauteil wurde manuell zum Bestellen vorgemerkt.{% endtrans %}</label>
<button type="submit" class="btn btn-outline-secondary"
name="remove_mark_to_order" {if !$can_order_read}disabled{/if}>
{% trans %}Aufheben{% endtrans %}</button>
{else}
{if $auto_order_exists}
<i>{% trans %}Das Bauteil wird unter "Zu bestellende Teile"aufgelistet, da der Bestand kleiner als der Mindestbestand ist.{% endtrans %}</i>
{else}
<label for="order_quantity">{% trans %}Zum Bestellen vormerken:{% endtrans %}</label>
<div class="input-group">
<input type="number" min="0" max="999999" class="form-control" value="1" name="order_quantity"
placeholder="Bestellmenge" {if !$can_order_edit}disabled{/if}><br>
<span class="input-group-append">
<button type="submit" class="btn btn-outline-secondary"
name="mark_to_order" {if !$can_order_edit}disabled{/if}>{% trans %}Übernehmen{% endtrans %}</button>
</span>
</div>
{/if}
{/if}
</div>
</div>
</form>
{/if}
<p></p>
<div class="form-group">
<label>{% trans %}Hinzugefügt:{% endtrans %}</label>
<p>{$datetime_added}
{if !empty($creation_user)} {% trans %}durch{% endtrans %}
{if $can_visit_user}
<a href="{$relative_path}user_info.php?uid={$creation_user_id}">{$creation_user}</a>
{else}
{$creation_user}
{/if}
{/if}
</p>
</div>
<p></p>
<div class="form-group">
<label>{% trans %}Letzte Änderung:{% endtrans %}</label>
<p>{$last_modified}
{if !empty($last_modified_user)} {% trans %}durch{% endtrans %}
{if $can_visit_user}
<a href="{$relative_path}user_info.php?uid={$last_modified_user_id}">{$last_modified_user}</a>
{else}
{$last_modified_user}
{/if}
{/if}
</p>
</div>
<p></p>
<form action="show_part_label.php" class="d-print-none">
{if $can_generate_barcode}
{if count($barcode_profiles) > 0}
<input type="hidden" name="label_generate">
<input type="hidden" name="id" value="{$pid}">
<div class="btn-group btn-block">
<button type="submit" class="btn btn-secondary btn-block"><i class="fa fa-barcode fa-fw" aria-hidden="true"></i>
{% trans %}Barcode erzeugen{% endtrans %}</button>
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu dropdown-menu-right" id="label-dropdown">
{foreach $barcode_profiles as $profile}
<a href="#" class="link-anchor dropdown-item" onclick="submitFormSubmitBtn($(this).closest('form'), $('#profile_btn_{$profile|replace:" ":"_"}'));">{$profile}</a>
<button type="submit" name="profile" id="profile_btn_{$profile|replace:" ":"_"}" value="{$profile}" class="d-none">{$profile}</button>
{/foreach}
</ul>
</div>
{else}
<input type="hidden" name="id" value="{$pid}">
<input type="hidden" name="generator" value="part">
<input type="hidden" name="size" value="50x30">
<input type="hidden" name="preset" value="Preset A">
<input type="hidden" name="label_generate">
<button type="submit" class="btn btn-secondary btn-block"><i class="fa fa-barcode fa-fw" aria-hidden="true"></i>
{% trans %}Barcode erzeugen{% endtrans %}</button>
{/if}
</form>
<p></p>
{/if}
<div class=" d-print-none">
<button type="button" class="btn btn-secondary btn-block" onclick="window.print();"><i class="fa fa-print fa-fw" aria-hidden="true"></i>
{% trans %}Übersicht drucken{% endtrans %}
</button>
</div>
<p></p>
<div class=" d-print-none">
<div class="dropdown">
<button class="btn btn-secondary btn-block dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="fa fa-file fa-fw" aria-hidden="true"></i> {% trans %}Datenblattlinks{% endtrans %}
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
{foreach $datasheet_loop as $sheet}
<li>
<a class="link-datasheet datasheet dropdown-item" title="{$sheet.name}" href="{$sheet.url}" target="_blank">
<img class="companypic-bg" src="{$relative_path}{$sheet.image}" alt="{$sheet.name}">
&nbsp;{$sheet.name}
</a>
</li>
{/foreach}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}