mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add special view for displaying / editing notes field for part
This commit is contained in:
parent
c546ed5dcd
commit
3c3ae43c18
@ -101,7 +101,7 @@ urlpatterns = [
|
|||||||
url(r'^api/', include(apipatterns)),
|
url(r'^api/', include(apipatterns)),
|
||||||
url(r'^api-doc/', include_docs_urls(title='InvenTree API')),
|
url(r'^api-doc/', include_docs_urls(title='InvenTree API')),
|
||||||
|
|
||||||
url(r'^md/', include('markdownx.urls')),
|
url(r'^markdownx/', include('markdownx.urls')),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Static file access
|
# Static file access
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{% extends "part/part_base.html" %}
|
{% extends "part/part_base.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
|
{% load crispy_forms_tags %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load markdownify %}
|
{% load markdownify %}
|
||||||
|
|
||||||
@ -9,18 +10,26 @@
|
|||||||
|
|
||||||
<h4>{% trans "Part Notes" %}</h4>
|
<h4>{% trans "Part Notes" %}</h4>
|
||||||
|
|
||||||
|
{% if editing %}
|
||||||
|
|
||||||
|
<form method='POST'>
|
||||||
|
{% csrf_token %}
|
||||||
|
|
||||||
|
{{ form }}
|
||||||
|
|
||||||
|
<input type="submit" value="Update" />
|
||||||
|
</form>
|
||||||
|
|
||||||
|
{{ form.media }}
|
||||||
|
|
||||||
|
{% else %}
|
||||||
|
|
||||||
<div class='panel panel-default'>
|
<div class='panel panel-default'>
|
||||||
<div class='panel-body'>
|
<div class='panel-body'>
|
||||||
{{ part.notes | markdownify }}
|
{{ part.notes | markdownify }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form method="post" action="">
|
{% endif %}
|
||||||
{% csrf_token %}
|
|
||||||
|
|
||||||
{{ form }}
|
|
||||||
</form>
|
|
||||||
|
|
||||||
{{ form.media }}
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -52,7 +52,7 @@ part_detail_urls = [
|
|||||||
url(r'^orders/?', views.PartDetail.as_view(template_name='part/orders.html'), name='part-orders'),
|
url(r'^orders/?', views.PartDetail.as_view(template_name='part/orders.html'), name='part-orders'),
|
||||||
url(r'^track/?', views.PartDetail.as_view(template_name='part/track.html'), name='part-track'),
|
url(r'^track/?', views.PartDetail.as_view(template_name='part/track.html'), name='part-track'),
|
||||||
url(r'^attachments/?', views.PartDetail.as_view(template_name='part/attachments.html'), name='part-attachments'),
|
url(r'^attachments/?', views.PartDetail.as_view(template_name='part/attachments.html'), name='part-attachments'),
|
||||||
url(r'^notes/?', views.PartDetail.as_view(template_name='part/notes.html'), name='part-notes'),
|
url(r'^notes/?', views.PartNotes.as_view(), name='part-notes'),
|
||||||
|
|
||||||
url(r'^qr_code/?', views.PartQRCode.as_view(), name='part-qr'),
|
url(r'^qr_code/?', views.PartQRCode.as_view(), name='part-qr'),
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ from django.shortcuts import get_object_or_404
|
|||||||
from django.shortcuts import HttpResponseRedirect
|
from django.shortcuts import HttpResponseRedirect
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.urls import reverse, reverse_lazy
|
from django.urls import reverse, reverse_lazy
|
||||||
from django.views.generic import DetailView, ListView, FormView
|
from django.views.generic import DetailView, ListView, FormView, UpdateView
|
||||||
from django.forms.models import model_to_dict
|
from django.forms.models import model_to_dict
|
||||||
from django.forms import HiddenInput, CheckboxInput
|
from django.forms import HiddenInput, CheckboxInput
|
||||||
|
|
||||||
@ -519,6 +519,34 @@ class PartCreate(AjaxCreateView):
|
|||||||
return initials
|
return initials
|
||||||
|
|
||||||
|
|
||||||
|
class PartNotes(UpdateView):
|
||||||
|
""" View for editing the 'notes' field of a Part object.
|
||||||
|
Presents a live markdown editor.
|
||||||
|
"""
|
||||||
|
|
||||||
|
context_object_name = 'part'
|
||||||
|
# form_class = part_forms.EditNotesForm
|
||||||
|
template_name = 'part/notes.html'
|
||||||
|
model = Part
|
||||||
|
|
||||||
|
fields = ['notes']
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
|
||||||
|
part = self.get_object()
|
||||||
|
|
||||||
|
ctx = super().get_context_data(**kwargs)
|
||||||
|
|
||||||
|
ctx['editing'] = str2bool(self.request.GET.get('edit', ''))
|
||||||
|
|
||||||
|
ctx['starred'] = part.isStarredBy(self.request.user)
|
||||||
|
ctx['disabled'] = not part.active
|
||||||
|
|
||||||
|
ctx['OrderStatus'] = OrderStatus
|
||||||
|
|
||||||
|
return ctx
|
||||||
|
|
||||||
|
|
||||||
class PartDetail(DetailView):
|
class PartDetail(DetailView):
|
||||||
""" Detail view for Part object
|
""" Detail view for Part object
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user