<field name="regex" type="CharField">(?P<search>[\S\s]+)</field>
<field name="url_template" type="TextField">http://www.flickr.com/search/?q={{ search }}</field>
</object>
+ <object model="bcmagic.keywordmap" pk="6">
+ <field name="keyword" type="CharField">invu</field>
+ <field name="regex" type="CharField">(?P<uuid>[A-Fa-f0-9]+)</field>
+ <field name="url_template" type="TextField">/inventory/{{ uuid }}/</field>
+ </object>
+ <object model="bcmagic.keywordmap" pk="7">
+ <field name="keyword" type="CharField">invb</field>
+ <field name="regex" type="CharField">(?P<barcode_id>.+)</field>
+ <field name="url_template" type="TextField">/inventory/{{barcode_id}}/</field>
+ </object>
</django-objects>
(r'^lts/link/(?P<flowcell>.+)/(?P<serial>.+)/$', 'htsworkflow.frontend.inventory.views.link_flowcell_and_device'),
# INDEX
- (r'^(?P<uuid>[a-fA-F0-9]{32})/$', 'htsworkflow.frontend.inventory.views.item_summary'),
+ (r'^(?P<uuid>[a-fA-F0-9]{32})/$', 'htsworkflow.frontend.inventory.views.item_summary_by_uuid'),
(r'^(?P<uuid>[a-fA-F0-9]{32})/print/$', 'htsworkflow.frontend.inventory.views.item_print'),
+ (r'^(?P<barcode_id>.+)/$', 'htsworkflow.frontend.inventory.views.item_summary_by_barcode'),
(r'^$', 'htsworkflow.frontend.inventory.views.index')
)
context_dict,
context_instance=RequestContext(request))
+
@login_required
-def item_summary(request, uuid, msg=''):
+def item_summary_by_barcode(request, barcode_id, msg=''):
"""
- Display a summary for an item
+ Display a summary for an item by barcode
"""
try:
- item = Item.objects.get(uuid=uuid)
+ item = Item.objects.get(barcode_id=barcode_id)
except ObjectDoesNotExist, e:
item = None
+
+ return item_summary_by_uuid(request, None, msg, item)
+
+
+@login_required
+def item_summary_by_uuid(request, uuid, msg='', item=None):
+ """
+ Display a summary for an item
+ """
+ # Use item instead of looking it up if it is passed.
+ if item is None:
+ try:
+ item = Item.objects.get(uuid=uuid)
+ except ObjectDoesNotExist, e:
+ item = None
context_dict = {
'page_name': 'Item Summary',
if item is not None:
msg = _item_print(item, request)
- return item_summary(request, uuid, msg)
+ return item_summary_by_uuid(request, uuid, msg)
def link_flowcell_and_device(request, flowcell, serial):
{% block content %}
{% if item %}
- <h3>Item: {{item.uuid}}</h3>
- <a href="{% url htsworkflow.frontend.inventory.views.index %}{{item.uuid}}/print/">Print</a>
-
-
+ <h2>Item Summary:</h2>
+ <a href="{% url htsworkflow.frontend.inventory.views.index %}{{item.uuid}}/print/">Print</a><br />
+ <br />
+ <b>UUID:</b> {{item.uuid}}<br />
+ <b>Barcode ID:</b> {{ item.barcode_id }}<br />
+ <b>Type:</b> {{ item.item_type.name }}<br />
+ <br />
+ <b>Location:</b> {{ item.location.name }}<br />
+ <b>Status: </b> {% if item.status %}{{ item.status.name }}{% else %}N/A{% endif %}<br />
+ <br />
+ {% if item.item_info.model_id %}
+ <b>Model ID:</b> {{ item.item_info.model_id }}<br />
+ {% endif %}
+ {% if item.item_info.part_number %}
+ <b>Part Number:</b> {{ item.item_info.part_number }}<br />
+ {% endif %}
+ {% if item.item_info.lot_number %}
+ <b>Lot Number:</b> {{ item.item_info.lot_number }}<br />
+ {% endif %}
+ <br />
+ {% if item.item_info.url %}
+ <b>Item Website:</b> <a href="{{ item.item_info.url }}">Link</a><br />
+ {% endif %}
+ <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 />
+ <b>Purchase Date:</b>{% if item.item_info.purchase_date %}{{ item.item_info.purchase_date }}{% else %}N/A{% endif %}<br />
+ <b>Warenty (Months):</b>{% if item.item_info.warenty_months %}{{item.item_info.warenty_months}}{% else %}N/A{% endif %}<br />
+ <br />
+ <b>Item Info Notes:</b>
+ <p>
+ {% if item.item_info.notes %}{{ item.item_info.notes }}{% else %}No notes found{% endif %}
+ </p>
+ <br />
+ <b>Item Specific Notes:</b>
+ <p>
+ {% if item.notes %}{{ item.notes }}{% else %}No notes found{% endif %}
+ </p>
{% else %}
<h3>Item with UUID of {{ uuid }} not found.</h3>