ftp_deploy.server.views.log: 30 total statements, 100.0% covered

Generated: Sun 2014-03-16 19:26 GMT

Source file: /var/www/service.dev/service/ftp_deploy/server/views/log.py

Stats: 23 executed, 0 missed, 7 excluded, 16 ignored

  1. from django.views.generic import ListView
  2. from django.views.generic.detail import SingleObjectMixin
  3. from django.views.generic.base import View
  4. from django.shortcuts import render_to_response
  5. from django.template import RequestContext
  6. from braces.views import JSONResponseMixin, LoginRequiredMixin
  7. from ftp_deploy.models import Log, Service
  8. class LogView(LoginRequiredMixin, ListView):
  9. """View for display logs"""
  10. model = Log
  11. context_object_name = 'logs'
  12. template_name = "ftp_deploy/log/log.html"
  13. paginate_by = 25
  14. def get_context_data(self, **kwargs):
  15. context = super(LogView, self).get_context_data(**kwargs)
  16. context['service_list'] = Service.objects.all().values('repo_name', 'pk')
  17. return context
  18. def post(self, request, *args, **kwargs):
  19. logs = self.get_queryset()
  20. if self.request.POST['services']:
  21. logs = logs.filter(service__pk=self.request.POST['services'])
  22. if not int(self.request.POST['status']):
  23. logs = logs.filter(status=self.request.POST['status'])
  24. return render_to_response('ftp_deploy/log/list.html', locals(), context_instance=RequestContext(request))
  25. class LogSkipDeployView(LoginRequiredMixin, JSONResponseMixin, SingleObjectMixin, View):
  26. """View for skip fail logs"""
  27. model = Log
  28. def post(self, request, *args, **kwargs):
  29. log = self.get_object()
  30. log.skip = True
  31. log.save()
  32. return self.render_json_response({'status': 'success'})