瀏覽代碼

HUE-2007 [pig] The script is blank when loading from the dashboard section

Romain Rigaux 11 年之前
父節點
當前提交
ecb4383
共有 2 個文件被更改,包括 11 次插入10 次删除
  1. 4 4
      apps/pig/src/pig/views.py
  2. 7 6
      desktop/core/src/desktop/models.py

+ 4 - 4
apps/pig/src/pig/views.py

@@ -55,7 +55,7 @@ def dashboard(request):
   pig_api = api.get(request.fs, request.jt, request.user)
 
   jobs = pig_api.get_jobs()
-  hue_jobs = Document.objects.available(PigScript, request.user)
+  hue_jobs = Document.objects.available(PigScript, request.user, with_history=True)
   massaged_jobs = pig_api.massaged_jobs_for_json(request, jobs, hue_jobs)
 
   return HttpResponse(json.dumps(massaged_jobs), mimetype="application/json")
@@ -144,7 +144,7 @@ def copy(request):
   pig_script.doc.get().can_edit_or_exception(request.user)
 
   existing_script_data = pig_script.dict
-  
+
   owner = request.user
   name = existing_script_data["name"] + _(' (Copy)')
   script = existing_script_data["script"]
@@ -159,11 +159,11 @@ def copy(request):
       'parameters': parameters,
       'resources': resources,
       'hadoopProperties': hadoopProperties
-  })  
+  })
   script_copy.save()
 
   copy_doc = pig_script.doc.get().copy(name=name, owner=owner)
-  script_copy.doc.add(copy_doc)   
+  script_copy.doc.add(copy_doc)
 
   response = {
     'id': script_copy.id,

+ 7 - 6
desktop/core/src/desktop/models.py

@@ -202,14 +202,15 @@ class DocumentManager(models.Manager):
 
     return [job.content_object for job in docs if job.content_object]
 
-  def available_docs(self, model_class, user):
-    trash = DocumentTag.objects.get_trash_tag(user=user)
-    history = DocumentTag.objects.get_history_tag(user=user)
+  def available_docs(self, model_class, user, with_history=False):
+    exclude = [DocumentTag.objects.get_trash_tag(user=user)]
+    if not with_history:
+      exclude.append(DocumentTag.objects.get_history_tag(user=user))
 
-    return Document.objects.get_docs(user, model_class).exclude(tags__in=[trash, history]).order_by('-last_modified')
+    return Document.objects.get_docs(user, model_class).exclude(tags__in=exclude).order_by('-last_modified')
 
-  def available(self, model_class, user):
-    docs = self.available_docs(model_class, user)
+  def available(self, model_class, user, with_history=False):
+    docs = self.available_docs(model_class, user, with_history)
 
     return [doc.content_object for doc in docs if doc.content_object]