Clean up user search a bit

This commit is contained in:
nikolark committed 2014-08-10 18:02:03 +02:00
1 parent aafa31b066
commit 6837bd13fb
9 files changed
+36 -16

No files matched your search

+1
View File
@@ -81,6 +81,7 @@ define('WPLANG', 'nb_NO');
define('WP_DEBUG', false);
define('INSIDE_API_KEY', '');
define('INSIDE_URL', 'https://inside.studentersamfundet.no/api/');
/* That's all, stop editing! Happy blogging. */
@@ -56,12 +56,20 @@ function format_results(data) {
function do_search() {
// TODO: add params from toggle
var validMembershipToggle = $('.filters [data-search-filter="has_valid_membership"]');
var groupString = '';
var groupSelect = $('.groups-select').val();
if( groupSelect !== null) {
groupString = groupSelect.join();
}
$.getJSON(
user_search_endpoint,
{
q: $('.search-field').val(),
filter_groups: $('.groups-select').val(),
_wpnonce: $('meta[name=x-inside-api-nonce]').attr('content')
filter_groups: groupString,
_wpnonce: $('meta[name=x-inside-api-nonce]').attr('content'),
has_valid_membership: validMembershipToggle.hasClass('active').toString()
},
format_results
);
@@ -119,7 +127,7 @@ jQuery(document).ready(function() {
if( $('.search-form').length ) {
$.getJSON(inside_groups_url, function(data) {
// create select fields
var list = '<select class="groups-select" data-placeholder="Velg en gruppe..."><option value=""></option><% _.each(results, function(g) { %>' +
var list = '<select multiple class="groups-select" data-placeholder="Velg en gruppe..."><option value=""></option><% _.each(results, function(g) { %>' +
'<option value="<%=g.group_id %>"><%= g.group_name %></option>' +
'<% }); %></select>';
@@ -231,7 +231,7 @@ This file is generated by `grunt build`, do not edit it by hand.
.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
margin: 1px 0;
padding: 5px;
height: 15px;
height: 36px;
outline: 0;
border: 0 !important;
background: transparent !important;
@@ -183,8 +183,9 @@ $menu-padding: rem-calc(18);
font-style: normal;
padding-left: rem-calc(6);
transform: rotate(90deg);
top: -5px;
top: -3px;
position: relative;
color: #ccc;
}
.profile-inner {
display: inline-block;
@@ -553,4 +554,9 @@ input[type=submit]{
.active {
background-color: $secondary-color;
color: white;
&:hover {
color: white;
background-color: darken($secondary-color, 10%);
}
}
+1 -1
View File
@@ -1 +1 @@
"use strict";function format_posts(e){var t="",s=0;if(0===e.length)return"Idag er det stille på huset :-/";for(s=0;s<e.length;s++){var n=e[s];t+='<li class="fadein">',t+='<span class="entry-starttime">'+moment.unix(n.custom_fields._neuf_events_starttime).utc().format("HH.mm")+"</span>: ",t+='<a href="'+n.url+'">'+n.title+"</a>",t+=' <span class="entry-venue">'+n.custom_fields._neuf_events_venue+"</span>",t+="</li>"}return t}function format_results(e){var t="<table><thead><tr><th>Navn</th><th>Brukernavn</th><th>Epost</th><th>Telefon</th><th>Medlem</th><th>Grupper</th></tr></thead>";if(e.error)return console.log(e.error),$(".search-result-list").html(""),void $(".search-results .meta").html("");if(0===e.meta.num_results)return $(".search-result-list").html("Uffda, ingen treff."),void $(".search-results .meta").html("");var s='<tbody><% _.each(results, function(u) { %><tr><td><a href="'+inside_url+'/?page=display-user&userid=<%= u.id %>"><%= u.firstname %> <%= u.lastname %></a></td><td><%= u.username %></td><td><a href="mailto:<%= u.email %>"><%= u.email %></a></td><td><a href="tlf:<%= u.number %>"><%= u.number %></a></td><td><% if(u.is_member != 0) { %>Ja<% } else { %>Nei<% } %></td><td class="groups"><%= u.groups %></td></li> <% }); %></tbody></table>',n=t+_.template(s,e);$(".search-result-list").html(n);var r="Antall treff: <%= meta.num_results %>";$(".search-results .meta").html(_.template(r,e))}function do_search(){$.getJSON(user_search_endpoint,{q:$(".search-field").val(),filter_groups:$(".groups-select").val(),_wpnonce:$("meta[name=x-inside-api-nonce]").attr("content")},format_results)}var program_endpoint="https://studentersamfundet.no/api/events/get_today/",inside_url="https://inside.studentersamfundet.no",inside_groups_url=inside_url+"/api/groups.php",user_search_endpoint="/inside-api/",query_params={};jQuery(document).ready(function(){moment.lang("nb");var e=jQuery;e("#menu .menu-toggle").on("click",function(t){t.preventDefault();var s=e("#menu .main-menu, #menu .user-menu-wrap");s.toggleClass("visible")}),e("#menu a.profile-badge").on("click",function(t){t.preventDefault();var s=e("#menu .user-menu");s.toggleClass("visible")}),e("[data-toggle-introduction]").on("click",function(){e(this).parent().fadeOut(600),e.cookie("introduction-dismissed","1")}),"1"!==e.cookie("introduction-dismissed")&&(e(".introduction").show(),e(".introduction").addClass("fadein"));var t=".program-list";e(t).length&&e.getJSON(program_endpoint+"?callback=?",query_params,function(s){if(s&&s.events){var n=format_posts(s.events);e(t).html(n)}}),e(".search-form").length&&(e.getJSON(inside_groups_url,function(t){var s='<select class="groups-select" data-placeholder="Velg en gruppe..."><option value=""></option><% _.each(results, function(g) { %><option value="<%=g.group_id %>"><%= g.group_name %></option><% }); %></select>',n=_.template(s,t);e(".groups-select-wrap").html(n),e(".groups-select").chosen({no_results_text:"Uffda, ingen treff!",allow_single_deselect:!0}).change(function(){do_search()})}),e(".search-field").focus(),e(".search-field").on("keyup keypress",function(e){(10===e.keyCode||13===e.keyCode)&&e.preventDefault()}),e(".search-field").on("keyup keypress",_.debounce(function(){do_search()},300)),e(".roles a").on("click",function(t){t.preventDefault(),e(this).toggleClass("active"),do_search()}))});
"use strict";function format_posts(e){var t="",s=0;if(0===e.length)return"Idag er det stille på huset :-/";for(s=0;s<e.length;s++){var r=e[s];t+='<li class="fadein">',t+='<span class="entry-starttime">'+moment.unix(r.custom_fields._neuf_events_starttime).utc().format("HH.mm")+"</span>: ",t+='<a href="'+r.url+'">'+r.title+"</a>",t+=' <span class="entry-venue">'+r.custom_fields._neuf_events_venue+"</span>",t+="</li>"}return t}function format_results(e){var t="<table><thead><tr><th>Navn</th><th>Brukernavn</th><th>Epost</th><th>Telefon</th><th>Medlem</th><th>Grupper</th></tr></thead>";if(e.error)return console.log(e.error),$(".search-result-list").html(""),void $(".search-results .meta").html("");if(0===e.meta.num_results)return $(".search-result-list").html("Uffda, ingen treff."),void $(".search-results .meta").html("");var s='<tbody><% _.each(results, function(u) { %><tr><td><a href="'+inside_url+'/?page=display-user&userid=<%= u.id %>"><%= u.firstname %> <%= u.lastname %></a></td><td><%= u.username %></td><td><a href="mailto:<%= u.email %>"><%= u.email %></a></td><td><a href="tlf:<%= u.number %>"><%= u.number %></a></td><td><% if(u.is_member != 0) { %>Ja<% } else { %>Nei<% } %></td><td class="groups"><%= u.groups %></td></li> <% }); %></tbody></table>',r=t+_.template(s,e);$(".search-result-list").html(r);var n="Antall treff: <%= meta.num_results %>";$(".search-results .meta").html(_.template(n,e))}function do_search(){var e=$('.filters [data-search-filter="has_valid_membership"]'),t="",s=$(".groups-select").val();null!==s&&(t=s.join()),$.getJSON(user_search_endpoint,{q:$(".search-field").val(),filter_groups:t,_wpnonce:$("meta[name=x-inside-api-nonce]").attr("content"),has_valid_membership:e.hasClass("active").toString()},format_results)}var program_endpoint="https://studentersamfundet.no/api/events/get_today/",inside_url="https://inside.studentersamfundet.no",inside_groups_url=inside_url+"/api/groups.php",user_search_endpoint="/inside-api/",query_params={};jQuery(document).ready(function(){moment.lang("nb");var e=jQuery;e("#menu .menu-toggle").on("click",function(t){t.preventDefault();var s=e("#menu .main-menu, #menu .user-menu-wrap");s.toggleClass("visible")}),e("#menu a.profile-badge").on("click",function(t){t.preventDefault();var s=e("#menu .user-menu");s.toggleClass("visible")}),e("[data-toggle-introduction]").on("click",function(){e(this).parent().fadeOut(600),e.cookie("introduction-dismissed","1")}),"1"!==e.cookie("introduction-dismissed")&&(e(".introduction").show(),e(".introduction").addClass("fadein"));var t=".program-list";e(t).length&&e.getJSON(program_endpoint+"?callback=?",query_params,function(s){if(s&&s.events){var r=format_posts(s.events);e(t).html(r)}}),e(".search-form").length&&(e.getJSON(inside_groups_url,function(t){var s='<select multiple class="groups-select" data-placeholder="Velg en gruppe..."><option value=""></option><% _.each(results, function(g) { %><option value="<%=g.group_id %>"><%= g.group_name %></option><% }); %></select>',r=_.template(s,t);e(".groups-select-wrap").html(r),e(".groups-select").chosen({no_results_text:"Uffda, ingen treff!",allow_single_deselect:!0}).change(function(){do_search()})}),e(".search-field").focus(),e(".search-field").on("keyup keypress",function(e){(10===e.keyCode||13===e.keyCode)&&e.preventDefault()}),e(".search-field").on("keyup keypress",_.debounce(function(){do_search()},300)),e(".roles a").on("click",function(t){t.preventDefault(),e(this).toggleClass("active"),do_search()}))});
+1 -1
View File
@@ -1 +1 @@
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}kbd,pre,samp{font-family:monospace,monospace}button{font:inherit}input,optgroup{margin:0}input,optgroup,select,textarea{color:inherit;font:inherit}button{overflow:visible}button,select{text-transform:none}html input[type="button"],input[type="reset"]{-webkit-appearance:button;cursor:pointer}input[type="submit"]{cursor:pointer}html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:23px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url('../images/chosen-sprite.png') -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url('../images/chosen-sprite.png') no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type="text"]{box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url('../images/chosen-sprite.png') no-repeat 100% -20px;background:url('../images/chosen-sprite.png') no-repeat 100% -20px;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-resultLine truncated
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}kbd,pre,samp{font-family:monospace,monospace}button{font:inherit}input,optgroup{margin:0}input,optgroup,select,textarea{color:inherit;font:inherit}button{overflow:visible}button,select{text-transform:none}html input[type="button"],input[type="reset"]{-webkit-appearance:button;cursor:pointer}input[type="submit"]{cursor:pointer}html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:23px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url('../images/chosen-sprite.png') -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url('../images/chosen-sprite.png') no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type="text"]{box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url('../images/chosen-sprite.png') no-repeat 100% -20px;background:url('../images/chosen-sprite.png') no-repeat 100% -20px;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-resultLine truncated
+1
View File
@@ -16,6 +16,7 @@
<a href="#" class="profile-badge"><img src="<?php echo $grav_url; ?> " class="profile-picture" /><span class="profile-inner"><?php echo $user->display_name; ?> <i class="icon-down">&#x25B6;</i></span></a>
<ul class="user-menu">
<li><a href="<?php echo "/profil/" ?>">Profil</a></li>
<?php if(!current_user_can('subscriber') ) { ?><li><a href="<?php echo "/wp-admin/" ?>">Admin</a></li><?php } ?>
<li><a href="<?php echo wp_logout_url("/"); ?>">Logg ut</a></li>
</ul>
</div>
@@ -2,22 +2,26 @@
/*
* Template Name: Inside Proxy
*/
define('INSIDE_URL', 'https://inside.studentersamfundet.no/api/');
//define('INSIDE_URL', 'http://inside.dev/api/');
function return_json($result) {
die(json_encode($result));
}
if(!defined('INSIDE_API_KEY') || !defined('INSIDE_URL') ) {
return_json(array("error" => "Looks like youre missing INSIDE_API_KEY or INSIDE_URL in wp-config.php"));
}
$nonce_action = 'inside-api';
if(!wp_verify_nonce($_GET['_wpnonce'], $nonce_action)) {
$result = array('error' => 'invalid nonce');
return_json($result);
}
$args = $_GET;
$args = array_merge($args, array('apikey' => INSIDE_API_KEY));
//$send_result = wp_mail( $to, $subject, $message, $headers);
// FIXME on error
//wp_mail( $to, $subject, $message, $headers);
$ch = curl_init(INSIDE_URL.'user.php?'.http_build_query($args));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_ENCODING ,"");
+6 -6
View File
@@ -12,18 +12,18 @@
<div class="search-form">
<h1 class="page-title"><?php wp_title("", true); ?></h1>
<form method="get">
<input type="text" id="id_user_query" class="search-field" name="q" placeholder="Søk på navn, epost, telefonnummer, brukernavn, medlemsnummer eller kortnummer" />
<input type="text" id="id_user_query" class="search-field" name="q" placeholder="Søk på navn, epost, eller brukernavn" />
<div class="filters">
<div class="groups">
<label>Filtrér på forening (gruppe):</label>
<label>Søk på gruppe (forening):</label>
<div class="groups-select-wrap"></div>
</div>
<div class="roles">
<label>Filtrér på rolle:</label>
<label>Filtrér på...</label>
<ul class="button-group">
<li><a href="#" class="button-alt">Styremedlem</a></li>
<li><a href="#" class="button-alt">Aktiv</a></li>
<li><a href="#" class="button-alt">Gyldig medlemskap</a></li>
<!--<li><a href="#" class="button-alt">Styremedlem</a></li>
<li><a href="#" class="button-alt">Aktiv</a></li>-->
<li><a href="#" class="button-alt" data-search-filter="has_valid_membership">Gyldig medlemskap</a></li>
</ul>
</div>
</div>