Эх сурвалжийг харах

HUE-683 [beeswax] 'Save as' button does not ask for a name

Add a popup asking for some optional name and description for the query.
An empty query can not be saved
Romain Rigaux 13 жил өмнө
parent
commit
9083b1e7b7

+ 30 - 4
apps/beeswax/src/beeswax/templates/execute.mako

@@ -284,9 +284,6 @@ ${layout.menubar(section='query')}
 </div>
 
 
-
-
-
 <div id="chooseFile" class="modal hide fade">
 	<div class="modal-header">
 		<a href="#" class="close" data-dismiss="modal">&times;</a>
@@ -300,6 +297,26 @@ ${layout.menubar(section='query')}
 	</div>
 </div>
 
+<div id="saveAs" class="modal hide fade">
+    <div class="modal-header">
+        <a href="#" class="close" data-dismiss="modal">&times;</a>
+        <h3>Choose a name</h3>
+    </div>
+    <div class="modal-body">
+        <div class="clearfix">
+            <label>Name</label>
+            ${comps.field(form.saveform['name'])}
+        </div>
+        <div class="clearfix">
+            <label>Description</label>
+            ${comps.field(form.saveform['desc'])}
+        </div>
+    </div>
+    <div class="modal-footer">
+        <button id="saveAsNameBtn" class="btn primary">Save</button>
+    </div>
+</div>
+
 <style>
 	#filechooser {
 		min-height:100px;
@@ -361,9 +378,18 @@ ${layout.menubar(section='query')}
 
 		$("#saveQueryAs").click(function(){
 			$("<input>").attr("type","hidden").attr("name","saveform-saveas").attr("value","Save As...").appendTo($("#advancedSettingsForm"));
-			checkAndSubmit();
+			$("#saveAs").modal("show");
 		});
 
+        $("#saveAsNameBtn").click(function(){
+             $("<input>").attr("type","hidden").attr("name","saveform-name")
+                 .attr("value", $("input[name=saveform-name]").val()).appendTo($("#advancedSettingsForm"));
+             $("<input>").attr("type","hidden").attr("name","saveform-desc")
+                 .attr("value", $("input[name=saveform-desc]").val()).appendTo($("#advancedSettingsForm"));
+
+            checkAndSubmit();
+        });
+
 		$("#explainQuery").click(function(){
 			$("<input>").attr("type","hidden").attr("name","button-explain").attr("value","Explain").appendTo($("#advancedSettingsForm"));
 			checkAndSubmit();

+ 2 - 2
apps/beeswax/src/beeswax/views.py

@@ -298,7 +298,7 @@ def execute_query(request, design_id=None):
       to_explain = request.POST.has_key('button-explain')
       to_submit = request.POST.has_key('button-submit')
       # Always validate the saveform, which will tell us whether it needs explicit saving
-      if not form.saveform.is_valid():
+      if not form.is_valid():
         break
       to_save = form.saveform.cleaned_data['save']
       to_saveas = form.saveform.cleaned_data['saveas']
@@ -311,7 +311,7 @@ def execute_query(request, design_id=None):
         action = urlresolvers.reverse(execute_query, kwargs=dict(design_id=design.id))
 
       # We're not going to process the form. Simply re-render it.
-      if not to_explain and not to_submit or not form.is_valid():
+      if not to_explain and not to_submit:
         break
 
       query_str = _strip_trailing_semicolon(form.query.cleaned_data["query"])