update inventory status template to use new field name for samples_library library id
[htsworkflow.git] / htsworkflow / frontend / templates / inventory / inventory_summary.html
1 {% extends "inventory/inventory_app.html" %}
2
3 {% block content %}
4 {% if item %}
5         <h2>Item Summary:</h2>
6         <a href="{% url htsworkflow.frontend.inventory.views.index %}{{item.uuid}}/print/">Print</a><br />
7         <br />
8         <b>UUID:</b> {{item.uuid}}<br />
9         <b>Barcode ID:</b> {{ item.barcode_id }}<br />
10         <b>Type:</b> {{ item.item_type.name }}<br />
11         <br />
12         <b>Location:</b> {{ item.location.name }}<br />
13         <b>Status: </b> {% if item.status %}{{ item.status.name }}{% else %}N/A{% endif %}<br />
14         <br />
15         {% if item.item_info.model_id %}
16         <b>Model ID:</b> {{ item.item_info.model_id }}<br />
17         {% endif %}
18         {% if item.item_info.part_number %}
19         <b>Part Number:</b> {{ item.item_info.part_number }}<br />
20         {% endif %}
21         {% if item.item_info.lot_number %}
22         <b>Lot Number:</b> {{ item.item_info.lot_number }}<br />
23         {% endif %}
24         <br />
25         {% if item.item_info.url %}
26         <b>Item Website:</b> <a href="{{ item.item_info.url }}">Link</a><br />
27         {% endif %}
28         <b>Vendor:</b> {% if item.item_info.vendor.url %}<a href="{{ item.item_info.vendor.url }}">{% endif %}{{ item.item_info.vendor.name }}{% if item.item_info.vendor.url %}</a>{% endif %}<br />
29         <b>Purchase Date:</b>{% if item.item_info.purchase_date %}{{ item.item_info.purchase_date }}{% else %}N/A{% endif %}<br />
30         <b>Warenty (Months):</b>{% if item.item_info.warenty_months %}{{item.item_info.warenty_months}}{% else %}N/A{% endif %}<br />
31         <br />
32         <b>Item Info Notes:</b>
33         <p>
34                 {% if item.item_info.notes %}{{ item.item_info.notes }}{% else %}No notes found{% endif %}
35         </p>
36         <br />
37         <b>Item Specific Notes:</b>
38         <p>
39                 {% if item.notes %}{{ item.notes }}{% else %}No notes found{% endif %}
40         </p>
41         <br />
42         <center><div id="lts-grid"></div></center>
43         <script>
44                 var lts_data = [
45                 {% for lts in item.longtermstorage_set.all %}
46                         {% for lib in lts.libraries.iterator %}[ "{{ lts.flowcell.flowcell_id }}","{{ lib.id }}","{% for sd in lts.storage_devices.iterator %}{{ sd }}{% if forloop.last %}"{% else %}|{% endif %}{% endfor %}{% if forloop.parentloop.last %}{% if forloop.last %}]{% else %}],{% endif %}{% else %}],{% endif %}
47                         {% endfor %}
48                 {% endfor %}
49                 ];
50                 
51                 var lts_reader = new Ext.data.ArrayReader({}, [
52                         {name: 'flowcell'},
53                         {name: 'library'},
54                         {name: 'storage_devices'}
55                 ]);
56                 
57                 var lts_grid = new Ext.grid.GridPanel({
58                         store: new Ext.data.GroupingStore({
59                                 reader: lts_reader,
60                                 data: lts_data,
61                                 sortInfo: {'field': 'flowcell', 'direction': 'DESC'},
62                                 groupField: 'flowcell'
63                         }),
64                         
65                         columns: [
66                                 {id: 'flowcell', header: 'Flowcell', width: 30, sortable: true, dataIndex: 'flowcell', hidden: true},
67                                 {header: 'Library', width: 30, sortable: true, dataIndex: 'library'},
68                                 {header: 'Storage Devices', width: 60, sortable: true, dataIndex: 'storage_devices'}
69                         ],
70                         
71                         view: new Ext.grid.GroupingView({
72                                 forceFit: true,
73                                 groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
74                         }),
75                         
76                         frame: true,
77                         width: 700,
78                         autoHeight: true,
79                         collapisble: true,
80                         animCollapisble: true,
81                         stateful: true,
82                         stateId: 'inventory-item-lts-storage-grid',
83                         title: 'Long Term Storage Info',
84                         iconCls: 'icon-grid',
85                         renderTo: 'lts-grid'
86                 })
87         </script>
88         
89 {% else %}
90         <h3>Item with UUID of {{ uuid }} not found.</h3>
91 {% endif %}
92 {% endblock %}