mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-22 16:02:16 +00:00
Basic diff between source -> HEAD or source -> dest.
This commit is contained in:
@@ -214,10 +214,10 @@ class EventRevisions(generic.ListView):
|
|||||||
|
|
||||||
|
|
||||||
thisEvent = get_object_or_404(models.Event, pk=self.kwargs['pk'])
|
thisEvent = get_object_or_404(models.Event, pk=self.kwargs['pk'])
|
||||||
revisions = reversion.get_for_object(thisEvent)
|
revisions = reversion.get_unique_for_object(thisEvent)
|
||||||
items = []
|
items = []
|
||||||
for revisionNo, thisRevision in enumerate(revisions):
|
for revisionNo, thisRevision in enumerate(revisions):
|
||||||
thisItem = {}
|
thisItem = {'pk': thisRevision.pk}
|
||||||
thisItem['revision'] = thisRevision.revision
|
thisItem['revision'] = thisRevision.revision
|
||||||
logger.info(thisRevision.revision.version_set.all())
|
logger.info(thisRevision.revision.version_set.all())
|
||||||
if revisionNo >= len(revisions)-1:
|
if revisionNo >= len(revisions)-1:
|
||||||
@@ -233,14 +233,32 @@ class EventRevisions(generic.ListView):
|
|||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
class EventRevision(generic.DetailView):
|
class EventRevision(generic.TemplateView):
|
||||||
model = reversion.revisions.Revision
|
model = reversion.revisions.Revision
|
||||||
template_name = "RIGS/event_revision.html"
|
template_name = "RIGS/event_detail.html"
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_context_data(self, pk, source, dest=None):
|
||||||
pk=self.kwargs['pk']
|
model = get_object_or_404(models.Event, pk=pk)
|
||||||
thisVersion = get_object_or_404(reversion.models.Revision, pk=self.kwargs['pk'])
|
revisions = reversion.get_for_object(model)
|
||||||
#items = reversion.revisions.Version
|
source = revisions.get(pk=source)
|
||||||
#thisVersion.
|
|
||||||
|
|
||||||
return self.model.objects.filter(pk=pk)
|
if dest:
|
||||||
|
dest = revisions.get(pk=dest)
|
||||||
|
else:
|
||||||
|
dest = reversion.get_for_date(model, datetime.datetime.today())
|
||||||
|
|
||||||
|
diff = {
|
||||||
|
'pk': pk, # need this for the edit button to work
|
||||||
|
}
|
||||||
|
for field in source.field_dict:
|
||||||
|
html = generate_patch_html(source, dest, field, cleanup="semantic")
|
||||||
|
# tidy up
|
||||||
|
html = html.replace("¶", "")
|
||||||
|
diff[field] = html
|
||||||
|
|
||||||
|
context = {
|
||||||
|
'object': diff,
|
||||||
|
'event': diff
|
||||||
|
}
|
||||||
|
|
||||||
|
return context
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
{% block title %}Versions{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% for field, change in diff.items %}
|
||||||
|
{{ change }}<br>
|
||||||
|
{% autoescape off %}
|
||||||
|
{{ change }}
|
||||||
|
{% endautoescape %}
|
||||||
|
<br>
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock %}
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{% for version in object_list %}
|
{% for version in object_list %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ version.revision.pk }}</td>
|
<td>{{ version.pk }}</td>
|
||||||
<td>{{ version.revision.date_created }}</td>
|
<td>{{ version.revision.date_created }}</td>
|
||||||
<td>{{ version.revision.user.name }}</td>
|
<td>{{ version.revision.user.name }}</td>
|
||||||
<td>{% for key, old, new in version.changes %}
|
<td>{% for key, old, new in version.changes %}
|
||||||
|
|||||||
@@ -79,12 +79,15 @@ urlpatterns = patterns('',
|
|||||||
url(r'^event/archive/$', login_required()(rigboard.EventArchive.as_view()),
|
url(r'^event/archive/$', login_required()(rigboard.EventArchive.as_view()),
|
||||||
name='event_archive'),
|
name='event_archive'),
|
||||||
|
|
||||||
url(r'^event_revisions/(?P<pk>\d+)/$',
|
url(r'^event/(?P<pk>\d+)/version/$',
|
||||||
permission_required_with_403('RIGS.view_event')(rigboard.EventRevisions.as_view()),
|
permission_required_with_403('RIGS.view_event')(rigboard.EventRevisions.as_view()),
|
||||||
name='event_revisions'),
|
name='event_revisions'),
|
||||||
url(r'^event_revision/(?P<pk>\d+)/$',
|
url(r'^event/(?P<pk>\d+)/version/(?P<source>\d+)/$',
|
||||||
permission_required_with_403('RIGS.view_event')(rigboard.EventRevision.as_view()),
|
permission_required_with_403('RIGS.view_event')(rigboard.EventRevision.as_view()),
|
||||||
name='event_revisions'),
|
name='event_verions'),
|
||||||
|
url(r'^event/(?P<pk>\d+)/version/(?P<source>\d+)/(?P<dest>\d+)$',
|
||||||
|
permission_required_with_403('RIGS.view_event')(rigboard.EventRevision.as_view()),
|
||||||
|
name='event_version'),
|
||||||
|
|
||||||
# Finance
|
# Finance
|
||||||
url(r'^invoice/$',
|
url(r'^invoice/$',
|
||||||
|
|||||||
Reference in New Issue
Block a user