Basic diff between source -> HEAD or source -> dest.

This commit is contained in:
Tom Price
2015-04-25 19:03:28 +01:00
parent 9afc7177c1
commit aadb8db022
4 changed files with 48 additions and 14 deletions

View File

@@ -214,10 +214,10 @@ class EventRevisions(generic.ListView):
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 = []
for revisionNo, thisRevision in enumerate(revisions):
thisItem = {}
thisItem = {'pk': thisRevision.pk}
thisItem['revision'] = thisRevision.revision
logger.info(thisRevision.revision.version_set.all())
if revisionNo >= len(revisions)-1:
@@ -233,14 +233,32 @@ class EventRevisions(generic.ListView):
return context
class EventRevision(generic.DetailView):
class EventRevision(generic.TemplateView):
model = reversion.revisions.Revision
template_name = "RIGS/event_revision.html"
template_name = "RIGS/event_detail.html"
def get_queryset(self):
pk=self.kwargs['pk']
thisVersion = get_object_or_404(reversion.models.Revision, pk=self.kwargs['pk'])
#items = reversion.revisions.Version
#thisVersion.
def get_context_data(self, pk, source, dest=None):
model = get_object_or_404(models.Event, pk=pk)
revisions = reversion.get_for_object(model)
source = revisions.get(pk=source)
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

View File

@@ -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 %}

View File

@@ -26,7 +26,7 @@
<tbody>
{% for version in object_list %}
<tr>
<td>{{ version.revision.pk }}</td>
<td>{{ version.pk }}</td>
<td>{{ version.revision.date_created }}</td>
<td>{{ version.revision.user.name }}</td>
<td>{% for key, old, new in version.changes %}

View File

@@ -79,12 +79,15 @@ urlpatterns = patterns('',
url(r'^event/archive/$', login_required()(rigboard.EventArchive.as_view()),
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()),
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()),
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
url(r'^invoice/$',