mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add 'About InvenTree' modal
- Accessible from the top-right dropdown menu - Add InvenTree/version.py which contains helper functions
This commit is contained in:
parent
293b386286
commit
b32a9ed597
19
InvenTree/InvenTree/version.py
Normal file
19
InvenTree/InvenTree/version.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
""" Version information for InvenTree.
|
||||||
|
Provides information on the current InvenTree version
|
||||||
|
"""
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
INVENTREE_SW_VERSION = "0.0.1"
|
||||||
|
|
||||||
|
|
||||||
|
def inventreeVersion():
|
||||||
|
""" Returns the InvenTree version string """
|
||||||
|
return INVENTREE_SW_VERSION
|
||||||
|
|
||||||
|
|
||||||
|
def inventreeCommitHash():
|
||||||
|
""" Returns the git commit hash for the running codebase """
|
||||||
|
commit = str(subprocess.check_output('git rev-parse --short HEAD'.split()), 'utf-8').strip()
|
||||||
|
|
||||||
|
return commit
|
@ -298,9 +298,6 @@ class IndexView(TemplateView):
|
|||||||
# Generate a list of buildable parts which have stock below their minimum values
|
# Generate a list of buildable parts which have stock below their minimum values
|
||||||
context['to_build'] = [part for part in Part.objects.filter(buildable=True) if part.need_to_restock()]
|
context['to_build'] = [part for part in Part.objects.filter(buildable=True) if part.need_to_restock()]
|
||||||
|
|
||||||
print("order:", len(context['to_order']))
|
|
||||||
print("build:", len(context['to_build']))
|
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
""" This module provides template tags for extra functionality
|
|
||||||
over and above the built-in Django tags.
|
|
||||||
"""
|
|
||||||
|
|
||||||
from django import template
|
|
||||||
|
|
||||||
register = template.Library()
|
|
||||||
|
|
||||||
|
|
||||||
@register.simple_tag()
|
|
||||||
def multiply(x, y, *args, **kwargs):
|
|
||||||
return x * y
|
|
@ -143,7 +143,6 @@ class BuildComplete(AjaxUpdateView):
|
|||||||
location = StockLocation.objects.get(id=loc_id)
|
location = StockLocation.objects.get(id=loc_id)
|
||||||
valid = True
|
valid = True
|
||||||
except StockLocation.DoesNotExist:
|
except StockLocation.DoesNotExist:
|
||||||
print('id:', loc_id)
|
|
||||||
form.errors['location'] = ['Invalid location selected']
|
form.errors['location'] = ['Invalid location selected']
|
||||||
|
|
||||||
if valid:
|
if valid:
|
||||||
|
28
InvenTree/part/templatetags/inventree_extras.py
Normal file
28
InvenTree/part/templatetags/inventree_extras.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
""" This module provides template tags for extra functionality
|
||||||
|
over and above the built-in Django tags.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django import template
|
||||||
|
from InvenTree import version
|
||||||
|
|
||||||
|
register = template.Library()
|
||||||
|
|
||||||
|
|
||||||
|
@register.simple_tag()
|
||||||
|
def multiply(x, y, *args, **kwargs):
|
||||||
|
return x * y
|
||||||
|
|
||||||
|
|
||||||
|
@register.simple_tag()
|
||||||
|
def inventree_version(*args, **kwargs):
|
||||||
|
return version.inventreeVersion()
|
||||||
|
|
||||||
|
|
||||||
|
@register.simple_tag()
|
||||||
|
def inventree_commit(*args, **kwargs):
|
||||||
|
return version.inventreeCommitHash()
|
||||||
|
|
||||||
|
|
||||||
|
@register.simple_tag()
|
||||||
|
def inventree_github(*args, **kwargs):
|
||||||
|
return "https://github.com/InvenTree"
|
40
InvenTree/templates/about.html
Normal file
40
InvenTree/templates/about.html
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{% load static %}
|
||||||
|
{% load inventree_extras %}
|
||||||
|
|
||||||
|
<div class='modal fade modal-fixed-footer' tabindex='-1' role='dialog' id='modal-about'>
|
||||||
|
<div class='modal-dialog'>
|
||||||
|
<div class='modal-content'>
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
<img src="{% static 'img/inventree.png' %}" height='60' style='float: left;' alt='Inventree Logo'>
|
||||||
|
</div>
|
||||||
|
<div class='modal-form-content'>
|
||||||
|
<div>
|
||||||
|
<!--
|
||||||
|
-->
|
||||||
|
<h4>InvenTree Version Information</h4>
|
||||||
|
<table class='table table-striped table-condensed'>
|
||||||
|
<tr>
|
||||||
|
<td>Version</td><td>{% inventree_version %}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Commit Hash</td><td>{% inventree_commit %}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>View Code on GitHub</td><td><a href="{% inventree_github %}">{% inventree_github %}</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class='modal-footer'>
|
||||||
|
<button type='button' class='btn btn-default' data-dismiss='modal'>Close</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -49,6 +49,7 @@ InvenTree
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% include 'modals.html' %}
|
{% include 'modals.html' %}
|
||||||
|
{% include 'about.html' %}
|
||||||
{% include 'notification.html' %}
|
{% include 'notification.html' %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -76,6 +77,17 @@ $(document).ready(function () {
|
|||||||
{% block js_ready %}
|
{% block js_ready %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
showCachedAlerts();
|
showCachedAlerts();
|
||||||
|
|
||||||
|
$('#launch-about').click(function() {
|
||||||
|
var modal = $('#modal-about');
|
||||||
|
|
||||||
|
modal.modal({
|
||||||
|
backdrop: 'static',
|
||||||
|
keyboard: 'false',
|
||||||
|
});
|
||||||
|
|
||||||
|
modal.modal('show');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -13,19 +13,21 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav navbar-right">
|
<ul class="nav navbar-nav navbar-right">
|
||||||
{% include "search_form.html" %}
|
{% include "search_form.html" %}
|
||||||
{% if user.is_authenticated %}
|
|
||||||
<li class='dropdown'>
|
<li class='dropdown'>
|
||||||
<a class='dropdown-toggle' data-toggle='dropdown' href="#"><span class="glyphicon glyphicon-user"></span> <b>{{ user.get_username }}</b></a>
|
<a class='dropdown-toggle' data-toggle='dropdown' href="#"><span class="glyphicon glyphicon-user"></span> <b>{{ user.get_username }}</b></a>
|
||||||
<ul class='dropdown-menu'>
|
<ul class='dropdown-menu'>
|
||||||
|
{% if user.is_authenticated %}
|
||||||
{% if user.is_staff %}
|
{% if user.is_staff %}
|
||||||
<li><a href="/admin/"><span class="glyphicon glyphicon-edit"></span> Admin</a></li>
|
<li><a href="/admin/"><span class="glyphicon glyphicon-edit"></span> Admin</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li><a href="{% url 'logout' %}"><span class="glyphicon glyphicon-log-out"></span> Logout</a></li>
|
<li><a href="{% url 'logout' %}"><span class="glyphicon glyphicon-log-out"></span> Logout</a></li>
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<li><a href="{% url 'login' %}"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
|
<li><a href="{% url 'login' %}"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<hr>
|
||||||
|
<li id='launch-about'><a href='#'>About InvenTree</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
Loading…
Reference in New Issue
Block a user