Преглед изворни кода

HUE-1468 [sqoop2] Fix ajax caching problems in IE9

Added @never_cache to all the API calls
Enrico Berti пре 12 година
родитељ
комит
26bd4dd

+ 8 - 2
apps/sqoop/src/sqoop/api/connection.py

@@ -32,14 +32,14 @@ from desktop.lib.exceptions import StructuredException
 from desktop.lib.rest.http_client import RestException
 from exception import handle_rest_exception
 from utils import list_to_dict
-
+from django.views.decorators.cache import never_cache
 
 __all__ = ['get_connections', 'create_connection', 'update_connection', 'connection', 'connections', 'connection_clone', 'connection_delete']
 
 
 LOG = logging.getLogger(__name__)
 
-
+@never_cache
 def get_connections(request):
   response = {
     'status': 0,
@@ -53,6 +53,7 @@ def get_connections(request):
     response.update(handle_rest_exception(e, _('Could not get connections.')))
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 def create_connection(request):
   response = {
     'status': 0,
@@ -76,6 +77,7 @@ def create_connection(request):
     response['errors'] = e.to_dict()
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 def update_connection(request, connection):
   response = {
     'status': 0,
@@ -98,6 +100,7 @@ def update_connection(request, connection):
     response['errors'] = e.to_dict()
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 def connections(request):
   if request.method == 'GET':
     return get_connections(request)
@@ -106,6 +109,7 @@ def connections(request):
   else:
     raise StructuredException(code="INVALID_METHOD", message=_('GET or POST request required.'), error_code=405)
 
+@never_cache
 @get_connection_or_exception()
 def connection(request, connection):
   response = {
@@ -121,6 +125,7 @@ def connection(request, connection):
   else:
     raise StructuredException(code="INVALID_METHOD", message=_('GET or POST request required.'), error_code=405)
 
+@never_cache
 @get_connection_or_exception()
 def connection_clone(request, connection):
   if request.method != 'POST':
@@ -144,6 +149,7 @@ def connection_clone(request, connection):
     response['errors'] = e.to_dict()
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 @get_connection_or_exception()
 def connection_delete(request, connection):
   if request.method != 'POST':

+ 3 - 2
apps/sqoop/src/sqoop/api/connector.py

@@ -31,14 +31,14 @@ from desktop.lib.exceptions import StructuredException
 from desktop.lib.rest.http_client import RestException
 from exception import handle_rest_exception
 from utils import list_to_dict
-
+from django.views.decorators.cache import never_cache
 
 __all__ = ['get_connectors', 'connectors', 'connector']
 
 
 LOG = logging.getLogger(__name__)
 
-
+@never_cache
 def get_connectors(request):
   response = {
     'status': 0,
@@ -58,6 +58,7 @@ def connectors(request):
   else:
     raise StructuredException(code="INVALID_METHOD", message=_('GET request required.'), error_code=405)
 
+@never_cache
 @get_connector_or_exception()
 def connector(request, connector):
   response = {

+ 2 - 2
apps/sqoop/src/sqoop/api/exception.py

@@ -23,11 +23,11 @@ from django.utils.encoding import smart_str
 
 from desktop.lib.exceptions import StructuredException
 from desktop.lib.rest.http_client import RestException
-
+from django.views.decorators.cache import never_cache
 
 LOG = logging.getLogger(__name__)
 
-
+@never_cache
 def handle_rest_exception(e, msg):
   reason = e.get_parent_ex().reason
   if isinstance(reason, socket.error):

+ 2 - 2
apps/sqoop/src/sqoop/api/framework.py

@@ -29,14 +29,14 @@ from sqoop import client, conf
 from desktop.lib.exceptions import StructuredException
 from desktop.lib.rest.http_client import RestException
 from exception import handle_rest_exception
-
+from django.views.decorators.cache import never_cache
 
 __all__ = ['framework']
 
 
 LOG = logging.getLogger(__name__)
 
-
+@never_cache
 def framework(request):
   response = {
     'status': 0,

+ 11 - 2
apps/sqoop/src/sqoop/api/job.py

@@ -32,6 +32,7 @@ from desktop.lib.exceptions import StructuredException
 from desktop.lib.rest.http_client import RestException
 from exception import handle_rest_exception
 from utils import list_to_dict
+from django.views.decorators.cache import never_cache
 
 
 __all__ = ['get_jobs', 'create_job', 'update_job', 'job', 'jobs', 'job_clone', 'job_delete', 'job_start', 'job_stop', 'job_status']
@@ -39,7 +40,7 @@ __all__ = ['get_jobs', 'create_job', 'update_job', 'job', 'jobs', 'job_clone', '
 
 LOG = logging.getLogger(__name__)
 
-
+@never_cache
 def get_jobs(request):
   response = {
     'status': 0,
@@ -54,6 +55,7 @@ def get_jobs(request):
     response.update(handle_rest_exception(e, _('Could not get jobs.')))
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 def create_job(request):
   if request.method != 'POST':
     raise StructuredException(code="INVALID_METHOD", message=_('POST request required.'), error_code=405)
@@ -80,6 +82,7 @@ def create_job(request):
     response['errors'] = e.to_dict()
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 def update_job(request, job):
   if request.method != 'POST':
     raise StructuredException(code="INVALID_METHOD", message=_('POST request required.'), error_code=405)
@@ -105,7 +108,7 @@ def update_job(request, job):
     response['errors'] = e.to_dict()
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
-
+@never_cache
 def jobs(request):
   if request.method == 'GET':
     return get_jobs(request)
@@ -114,6 +117,7 @@ def jobs(request):
   else:
     raise StructuredException(code="INVALID_METHOD", message=_('GET or POST request required.'), error_code=405)
 
+@never_cache
 @get_job_or_exception()
 def job(request, job):
   response = {
@@ -129,6 +133,7 @@ def job(request, job):
   else:
     raise StructuredException(code="INVALID_METHOD", message=_('GET or POST request required.'), error_code=405)
 
+@never_cache
 @get_job_or_exception()
 def job_clone(request, job):
   if request.method != 'POST':
@@ -152,6 +157,7 @@ def job_clone(request, job):
     response['errors'] = e.to_dict()
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 @get_job_or_exception()
 def job_delete(request, job):
   if request.method != 'POST':
@@ -173,6 +179,7 @@ def job_delete(request, job):
     response['errors'] = e.to_dict()
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 @get_job_or_exception()
 def job_start(request, job):
   if request.method != 'POST':
@@ -194,6 +201,7 @@ def job_start(request, job):
     response['errors'] = [e.to_dict()]
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 @get_job_or_exception()
 def job_stop(request, job):
   if request.method != 'POST':
@@ -215,6 +223,7 @@ def job_stop(request, job):
     response['errors'] = e.to_dict()
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 @get_job_or_exception()
 def job_status(request, job):
   if request.method != 'GET':

+ 3 - 2
apps/sqoop/src/sqoop/api/submission.py

@@ -31,14 +31,14 @@ from desktop.lib.exceptions import StructuredException
 from desktop.lib.rest.http_client import RestException
 from exception import handle_rest_exception
 from utils import list_to_dict
-
+from django.views.decorators.cache import never_cache
 
 __all__ = ['get_submissions', 'submissions']
 
 
 LOG = logging.getLogger(__name__)
 
-
+@never_cache
 def get_submissions(request):
   response = {
     'status': 0,
@@ -54,6 +54,7 @@ def get_submissions(request):
     response.update(handle_rest_exception(e, _('Could not get submissions.')))
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
+@never_cache
 def submissions(request):
   if request.method == 'GET':
     return get_submissions(request)

+ 0 - 1
apps/sqoop/static/js/sqoop.utils.js

@@ -164,7 +164,6 @@ ko.sqoop = {
     });
     // Need a depth first search result
     models = models.reverse();
-    console.log(models);
 
     // Call fixModel on every node that has that method.
     $.each(models, function(index, parent_name) {