瀏覽代碼

[search] Added core switch on Admin UI

Enrico Berti 12 年之前
父節點
當前提交
d546d63bc6

+ 1 - 2
apps/search/src/search/templates/admin_core_facets.mako

@@ -26,7 +26,7 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
 <%layout:skeleton>
   <%def name="title()">
-    <h1>${_('Search Admin - ')}${hue_core.name}</h1>
+    <h1>${_('Search Admin - ')}${hue_core.label}</h1>
   </%def>
   <%def name="navigation()">
     ${ layout.sidebar(hue_core.name, 'facets') }
@@ -115,7 +115,6 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
       <div class="form-actions" style="margin-top: 80px">
         <button type="submit" class="btn btn-primary" id="save-facets">${_('Save Facets')}</button>
-        <a class="btn" href="${ url('search:admin') }"><i class="icon-list"></i> ${ _('Return to Core list') }</a>
         <a class="btn" href="${ url('search:index') }"><i class="icon-search"></i> ${ _('Back to Search') }</a>
       </div>
     </form>

+ 1 - 2
apps/search/src/search/templates/admin_core_properties.mako

@@ -37,7 +37,7 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
 <%layout:skeleton>
   <%def name="title()">
-    <h1>${_('Search Admin - ')}${hue_core.name}</h1>
+    <h1>${_('Search Admin - ')}${hue_core.label}</h1>
   </%def>
   <%def name="navigation()">
     ${ layout.sidebar(hue_core.name, 'properties') }
@@ -148,7 +148,6 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
 
     <div class="form-actions">
-      <a class="btn" href="${ url('search:admin') }"><i class="icon-list"></i> ${ _('Return to Core list') }</a>
       <a class="btn" href="${ url('search:index') }"><i class="icon-search"></i> ${ _('Back to Search') }</a>
     </div>
 

+ 1 - 2
apps/search/src/search/templates/admin_core_schema.mako

@@ -26,7 +26,7 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
 <%layout:skeleton>
   <%def name="title()">
-    <h1>${_('Search Admin - ')}${hue_core.name}</h1>
+    <h1>${_('Search Admin - ')}${hue_core.label}</h1>
   </%def>
   <%def name="navigation()">
     ${ layout.sidebar(hue_core.name, 'schema') }
@@ -36,7 +36,6 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
     ${ solr_schema.decode('utf-8') }
     </textarea>
     <div class="form-actions">
-      <a class="btn" href="${ url('search:admin') }"><i class="icon-list"></i> ${ _('Return to Core list') }</a>
       <a class="btn" href="${ url('search:index') }"><i class="icon-search"></i> ${ _('Back to Search') }</a>
     </div>
   </%def>

+ 1 - 2
apps/search/src/search/templates/admin_core_sorting.mako

@@ -26,7 +26,7 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
 <%layout:skeleton>
   <%def name="title()">
-    <h1>${_('Search Admin - ')}${hue_core.name}</h1>
+    <h1>${_('Search Admin - ')}${hue_core.label}</h1>
   </%def>
   <%def name="navigation()">
     ${ layout.sidebar(hue_core.name, 'sorting') }
@@ -64,7 +64,6 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
       <div class="form-actions" style="margin-top: 80px">
         <button type="submit" class="btn btn-primary" id="save-sorting">${_('Save Sorting')}</button>
-        <a class="btn" href="${ url('search:admin') }"><i class="icon-list"></i> ${ _('Return to Core list') }</a>
         <a class="btn" href="${ url('search:index') }"><i class="icon-search"></i> ${ _('Back to Search') }</a>
       </div>
     </form>

+ 1 - 13
apps/search/src/search/templates/admin_core_template.mako

@@ -25,17 +25,6 @@
 ${ commonheader(_('Search'), "search", user) | n,unicode }
 
 <style type="text/css">
-  .available-fields {
-    padding: 0;
-    padding-left:10px;
-  }
-  .available-fields ul {
-    list-style: none;
-    margin-left: 0;
-  }
-  .available-fields ul li {
-    color: #666;
-  }
   .preview-row:nth-child(odd) {
     background-color:#f9f9f9;
   }
@@ -55,7 +44,7 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
 <%layout:skeleton>
   <%def name="title()">
-    <h1>${_('Search Admin - ')}${hue_core.name}</h1>
+    <h1>${_('Search Admin - ')}${hue_core.label}</h1>
   </%def>
   <%def name="navigation()">
     ${ layout.sidebar(hue_core.name, 'template') }
@@ -117,7 +106,6 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
 
     <div class="form-actions">
       <a class="btn btn-primary" id="save-template">${_('Save Template')}</a>
-      <a class="btn" href="${ url('search:admin') }"><i class="icon-list"></i> ${ _('Return to Core list') }</a>
       <a class="btn" href="${ url('search:index') }"><i class="icon-search"></i> ${ _('Back to Search') }</a>
     </div>
 

+ 15 - 0
apps/search/src/search/templates/layout.mako

@@ -24,6 +24,14 @@
   <link rel="stylesheet" href="/search/static/css/admin.css">
 
   <div class="container-fluid">
+    <div class="pull-right" style="margin-top: 20px">
+      <span class="muted">${ _('Change settings for') }</span>
+      <select id="change-core" style="margin-bottom: 0;display: inline">
+          % for c in hue_cores:
+            <option value="${ c.get_absolute_url() }"> ${ c.label } (${ c.name })</option>
+          % endfor
+      </select>
+    </div>
     %if hasattr(caller, "title"):
       ${caller.title()}
     %else:
@@ -49,6 +57,13 @@
       %endif
     </div>
   </div>
+  <script type="text/javascript">
+    $(document).ready(function () {
+      $("#change-core").change(function(){
+        location.href = $("#change-core").val();
+      });
+    });
+  </script>
 </%def>
 
 <%def name="sidebar(core, section='')">

+ 11 - 0
apps/search/src/search/views.py

@@ -88,10 +88,12 @@ def admin(request):
 def admin_core_properties(request, core):
   solr_core = SolrApi(SOLR_URL.get()).core(core)
   hue_core = Core.objects.get(name=core)
+  hue_cores = Core.objects.all()
 
   return render('admin_core_properties.mako', request, {
     'solr_core': solr_core,
     'hue_core': hue_core,
+    'hue_cores': hue_cores,
   })
 
 
@@ -99,9 +101,12 @@ def admin_core_properties(request, core):
 def admin_core_schema(request, core):
   solr_schema = SolrApi(SOLR_URL.get()).schema(core)
   hue_core = Core.objects.get(name=core)
+  hue_cores = Core.objects.all()
+
   return render('admin_core_schema.mako', request, {
     'solr_schema': solr_schema,
     'hue_core': hue_core,
+    'hue_cores': hue_cores,
   })
 
 
@@ -109,6 +114,7 @@ def admin_core_schema(request, core):
 def admin_core_template(request, core):
   solr_core = SolrApi(SOLR_URL.get()).core(core)
   hue_core = Core.objects.get(name=core)
+  hue_cores = Core.objects.all()
 
   if request.method == 'POST':
     hue_core.result.update_from_post(request.POST)
@@ -128,6 +134,7 @@ def admin_core_template(request, core):
   return render('admin_core_template.mako', request, {
     'solr_core': solr_core,
     'hue_core': hue_core,
+    'hue_cores': hue_cores,
     'sample_data': json.dumps(response["response"]["docs"]),
   })
 
@@ -136,6 +143,7 @@ def admin_core_template(request, core):
 def admin_core_facets(request, core):
   solr_core = SolrApi(SOLR_URL.get()).core(core)
   hue_core = Core.objects.get(name=core)
+  hue_cores = Core.objects.all()
 
   if request.method == 'POST':
     hue_core.facets.update_from_post(request.POST)
@@ -145,6 +153,7 @@ def admin_core_facets(request, core):
   return render('admin_core_facets.mako', request, {
     'solr_core': solr_core,
     'hue_core': hue_core,
+    'hue_cores': hue_cores,
   })
 
 
@@ -152,6 +161,7 @@ def admin_core_facets(request, core):
 def admin_core_sorting(request, core):
   solr_core = SolrApi(SOLR_URL.get()).core(core)
   hue_core = Core.objects.get(name=core)
+  hue_cores = Core.objects.all()
 
   if request.method == 'POST':
     hue_core.sorting.update_from_post(request.POST)
@@ -161,4 +171,5 @@ def admin_core_sorting(request, core):
   return render('admin_core_sorting.mako', request, {
     'solr_core': solr_core,
     'hue_core': hue_core,
+    'hue_cores': hue_cores,
   })

+ 13 - 2
apps/search/static/css/admin.css

@@ -6,14 +6,21 @@
   border: 1px dotted #DDD;
 }
 
-.availableFields ul {
+.available-fields {
+  padding: 0;
+  padding-left:10px;
+}
+
+.available-fields ul {
   list-style: none outside none;
   padding: 0;
   margin: 0;
+  cursor: pointer;
 }
 
-.availableFields ul li {
+.available-fields ul li {
   cursor: pointer;
+  color: #666;
 }
 
 .form-actions {
@@ -43,4 +50,8 @@
   background-color: #F3F3F3;
   padding: 10px;
   border-top: 1px solid #DDD;
+}
+
+.select-mini {
+  width: 100%;
 }