浏览代码

beginnings of search

* 'admin' search not implemented
* need to populate with results
abetusk 4 年之前
父节点
当前提交
4cb73cadf9
共有 3 个文件被更改,包括 82 次插入11 次删除
  1. 20 0
      main/app/routes.py
  2. 44 4
      main/app/static/js/popufare_admin.js
  3. 18 7
      main/app/templates/search.html

+ 20 - 0
main/app/routes.py

@@ -243,6 +243,26 @@ def api_group_info():
 
   return jsonify(_cache_get_group())
 
+###
+###
+
+@app.route("/api/v1/Search")
+def api_search():
+  res = {}
+  args = request.args
+
+  field_names = ["search_type", "search_string"] 
+
+  api_req = { "function":"Search" }
+  for f in field_names:
+    if f in args:
+      api_req[f] = args[f]
+
+  res = api.Request(api_req)
+  return jsonify(res)
+
+
+
 ###
 ###
 

+ 44 - 4
main/app/static/js/popufare_admin.js

@@ -181,6 +181,7 @@ function api_resp(xhr,extra) {
 
       }
 
+
       else if (extra["ui_function"] === "reissue_card.find") {
         if (dat["result"] === "success") {
           update_message("ui.reissue_card.message", "success", "")
@@ -191,28 +192,37 @@ function api_resp(xhr,extra) {
         }
       }
 
-      else if (extra["ui_function"] === "recycle_card.update") {
-
 
+      else if (extra["ui_function"] === "recycle_card.update") {
         if (dat["result"] === "success") {
           update_message("ui.recycle_card.message", "success", "")
-          //recycle_card_fill(dat);
         }
         else {
           update_message("ui.recycle_card.message", "error", dat.api_comment);
         }
       }
 
-      else if (extra["ui_function"] === "add_card_block.add") {
 
+      else if (extra["ui_function"] === "add_card_block.add") {
         if (dat["result"] === "success") {
           update_message("ui.add_card_block.message", "success", "loaded");
         }
         else {
           update_message("ui.add_card_block.message", "error", dat.api_comment);
         }
+      }
+
+      else if (extra["ui_function"] === "ui_search.update") {
 
+        console.log("search result:", dat);
 
+        if (dat["result"] === "success") {
+          update_message("ui.search.message", "success", "loaded");
+          ui_search_fill(dat);
+        }
+        else {
+          update_message("ui.search.message", "error", dat.api_comment);
+        }
       }
 
       else if (extra["ui_function"] === "group") {
@@ -873,6 +883,30 @@ function reissue_card_fill(card_data) {
 // --------------------------------------
 // --------------------------------------
 
+function ui_search(search_type) {
+  var txt = _get_input_field( "ui.search." + search_type);
+
+  console.log(">>>", search_type, txt);
+
+  var dat = {
+    "api_function":"Search",
+    "ui_function":"ui_search.update",
+    "data": [
+      ["search_type", search_type],
+      ["search_string", txt]
+    ]};
+  api_req(dat);
+}
+
+function ui_search_fill(data) {
+}
+
+// --------------------------------------
+// --------------------------------------
+// --------------------------------------
+// --------------------------------------
+// --------------------------------------
+
 function manage_card_redirect_manage_user() {
   var userid = _get_input_field("ui.manage_card.userid");
   _redirect( "manage_user?" + "action=get&userid=" + userid);
@@ -1263,6 +1297,12 @@ function admin_api_init() {
 
   }
 
+  else if (_func === "search") {
+    _attach_button( "ui.search.find_card", (function() { return ui_search("card"); }) );
+    _attach_button( "ui.search.find_user", (function() { return ui_search("user"); }) );
+    _attach_button( "ui.search.find_admin", (function() { return ui_search("admin"); }) );
+  }
+
 
 }
 

+ 18 - 7
main/app/templates/search.html

@@ -2,7 +2,18 @@
 
 {% block content %}
 
-  <h1 class="mt-4">Search</h1>
+  <div class='row'>
+
+    <div class='col-6'>
+      <h1 class="mt-4">Search</h1>
+    </div>
+
+    <div class='col-6'>
+      <h1 class="mt-4" id='ui.search.message'>...</h1>
+    </div>
+
+  </div>
+
   <div class='container'>
 
     <!-- container row -->
@@ -18,10 +29,10 @@
 
           <div class='col-2'>Search Cards</div>
           <div class='col-8'>
-            <input type='text' class='form-control form-control-sm' placeholder=''>
+            <input type='text' class='form-control form-control-sm' placeholder='' id='ui.search.card'>
           </div>
           <div class='col-2'>
-            <button type='button' class='btn btn-secondary btn-sm'>Find</button>
+            <button type='button' class='btn btn-secondary btn-sm' id='ui.search.find_card'>Find</button>
           </div>
 
         </div>
@@ -31,10 +42,10 @@
 
           <div class='col-2'>Search Users</div>
           <div class='col-8'>
-            <input type='text' class='form-control form-control-sm' placeholder=''>
+            <input type='text' class='form-control form-control-sm' placeholder='' id='ui.search.user'>
           </div>
           <div class='col-2'>
-            <button type='button' class='btn btn-secondary btn-sm'>Find</button>
+            <button type='button' class='btn btn-secondary btn-sm' id='ui.search.find_user'>Find</button>
           </div>
 
         </div>
@@ -44,10 +55,10 @@
 
           <div class='col-2'>Search Admins</div>
           <div class='col-8'>
-            <input type='text' class='form-control form-control-sm' placeholder=''>
+            <input type='text' class='form-control form-control-sm' placeholder='' id='ui.search.admin'>
           </div>
           <div class='col-2'>
-            <button type='button' class='btn btn-secondary btn-sm'>Find</button>
+            <button type='button' class='btn btn-secondary btn-sm' id='ui.search.find_admin'>Find</button>
           </div>
 
         </div>