Skip to content
Snippets Groups Projects
Commit 9432314e authored by Flavio TARSETTI's avatar Flavio TARSETTI
Browse files

[plotters] added diff version for plotterparameter for history

parent 50e30aea
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -99,6 +99,12 @@ urlpatterns = [ ...@@ -99,6 +99,12 @@ urlpatterns = [
name='fork', name='fork',
), ),
url(
r'^plotterparameter/diff/(?P<author1>\w+)/(?P<name1>[-\w]+)/(?P<version1>\d+)/(?P<author2>\w+)/(?P<name2>[-\w]+)/(?P<version2>\d+)/$',
views.diff,
name='diff',
),
url( url(
r'^(?P<author_name>\w+)/plotterparameter/$', r'^(?P<author_name>\w+)/plotterparameter/$',
views.list_plotterparameters, views.list_plotterparameters,
...@@ -123,6 +129,12 @@ urlpatterns = [ ...@@ -123,6 +129,12 @@ urlpatterns = [
name='view', name='view',
), ),
url(
r'^plotterparameter/(?P<author>\w+)/(?P<name>[-\w]+)/$',
views.plotterparameter_latest,
name='plotterparameter-view-latest',
),
url( url(
r'^(?P<author>\w+)/(?P<name>[-\w]+)/$', r'^(?P<author>\w+)/(?P<name>[-\w]+)/$',
......
...@@ -711,6 +711,33 @@ def list_plotterparameters_public(request): ...@@ -711,6 +711,33 @@ def list_plotterparameters_public(request):
) )
#----------------------------------------------------------
def plotterparameter_latest(request, author, name):
'''Get latest plotterparameter for the request user'''
# check that the user exists on the system
objects = PlotterParameter.objects.filter(
author__username__iexact=author,
name__iexact=name,
).order_by('-creation_date')
print objects
objects = PlotterParameter.filter_latest_versions(objects)
print objects
return render_to_response('plotterparameters/list.html',
dict(
objects=objects,
author=request.user, #anonymous
owner=False,
),
context_instance=RequestContext(request),
)
#------------------------------------------------ #------------------------------------------------
...@@ -746,6 +773,43 @@ def plotterparameter_for_author(request, author_name, plotterparameter_name, ver ...@@ -746,6 +773,43 @@ def plotterparameter_for_author(request, author_name, plotterparameter_name, ver
#---------------------------------------------------------- #----------------------------------------------------------
def diff(request, author1, name1, version1, author2, name2, version2):
"""Shows the difference between two plotterparameters. The Web API is used to
retrieve the details about the plotterparameters and check the accessibility.
"""
plotterparameter1 = get_object_or_404(
PlotterParameter,
author__username__iexact=author1,
name__iexact=name1,
version=int(version1),
)
has_access, _ = plotterparameter1.accessibility_for(request.user)
if not has_access: raise Http404()
plotterparameter2 = get_object_or_404(
PlotterParameter,
author__username__iexact=author2,
name__iexact=name2,
version=int(version2),
)
has_access, _ = plotterparameter2.accessibility_for(request.user)
if not has_access: raise Http404()
return render_to_response('plotterparameters/diff.html',
{
'plotterparameter1': plotterparameter1,
'plotterparameter1_data': simplejson.loads(plotterparameter1.data),
'plotterparameter2': plotterparameter2,
'plotterparameter2_data': simplejson.loads(plotterparameter2.data),
},
context_instance=RequestContext(request))
#----------------------------------------------------------
@login_required @login_required
def create_plotterparameter(request, author_name): def create_plotterparameter(request, author_name):
'''Create a new plotterparameter to the request user''' '''Create a new plotterparameter to the request user'''
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment