mirror of
https://github.com/CodeforLeipzig/stadtratmonitor.git
synced 2024-12-22 15:43:14 +01:00
Merge pull request #20 from joergreichert/master
Removes login button, fixes filtering
This commit is contained in:
commit
eef07c25b9
7 changed files with 48 additions and 54 deletions
44
README.md
44
README.md
|
@ -1,5 +1,49 @@
|
|||
# Stadtratmonitor
|
||||
|
||||
## Usage / Features
|
||||
|
||||
The Stadtratmonitor Leipzig is a lightweight user interface for performing full text searches against paper contents issued to the city council of Leipzig. Note, this solution uses the data from [Ratsinformationssystem Leipzig](https://ratsinfo.leipzig.de/bi/allris.net.asp) that also offers [text search capabilities](https://ratsinfo.leipzig.de/bi/yw010.asp).
|
||||
|
||||
### Sorting
|
||||
* Sort by date, paper was issued
|
||||
|
||||
![Papers sorted by publishing date](https://cloud.githubusercontent.com/assets/994131/14060246/b29c0356-f35e-11e5-837a-2106dd274694.JPG)
|
||||
|
||||
* Sort by relevance, e.g. how often the search keyword appears inside the title resp. the content of the paper
|
||||
|
||||
![Papers sorted by relevance](https://cloud.githubusercontent.com/assets/994131/14060257/f7491002-f35e-11e5-9d39-f36b81c35c33.JPG)
|
||||
|
||||
### Filtering
|
||||
* By paper type
|
||||
|
||||
![Filter by paper type](https://cloud.githubusercontent.com/assets/994131/14060263/28c9d800-f35f-11e5-8c56-e8d208d85916.JPG)
|
||||
|
||||
* By originator
|
||||
|
||||
![Filter by originator](https://cloud.githubusercontent.com/assets/994131/14060267/4fa539a6-f35f-11e5-981e-2467daf2dee2.JPG)
|
||||
|
||||
### Staying up-to-date
|
||||
#### General
|
||||
* Subscribing
|
||||
* [Google Chrome RSS extension](https://chrome.google.com/webstore/detail/rss-subscription-extensio/nlbjncdgjeocebhnmkbbbdekmmmcbfjd?hl=de)
|
||||
* [Firefox RSS extension](https://addons.mozilla.org/en-US/firefox/addon/rss-feed-icon-in-navbar/)
|
||||
* Reading
|
||||
* [Google Chrome Extension](https://chrome.google.com/webstore/detail/rss-feed-reader/pnjaodmkngahhkoihejjehlcdlnohgmp)
|
||||
* [Firefox Extension](https://addons.mozilla.org/en-US/firefox/addon/simple-rss-reader-srr)
|
||||
* [RSSOWL](http://www.rssowl.org/)
|
||||
|
||||
#### Example using Firefox and RSSOWL
|
||||
Click on the newsfeed icon in the address bar
|
||||
![Abonnieren mit Firefox](https://cloud.githubusercontent.com/assets/994131/14060508/fe7f4514-f366-11e5-85ae-2fa2e50b91ea.JPG)
|
||||
|
||||
Copy the URL from the address bar
|
||||
![RSS URL in Firefox](https://cloud.githubusercontent.com/assets/994131/14060515/30140e98-f367-11e5-9c77-86ba626e3c1b.JPG)
|
||||
|
||||
Create a new Feed in RSSOWL and paste the just copied URL in the form
|
||||
![RSSOWL Feed](https://cloud.githubusercontent.com/assets/994131/14060522/6c4a88ce-f367-11e5-8e0b-9d9f266306e2.JPG)
|
||||
|
||||
When updating the feed in RSSOWL (or any other RSS reader of your choice) time after time all new papers matching the search query criteria will appear.
|
||||
|
||||
[![Build Status](https://travis-ci.org/CodeforLeipzig/stadtratmonitor.png?branch=master)](https://travis-ci.org/CodeforLeipzig/stadtratmonitor) [![Coverage Status](https://coveralls.io/repos/github/CodeforLeipzig/stadtratmonitor/badge.svg?branch=master)](https://coveralls.io/github/CodeforLeipzig/stadtratmonitor?branch=master) [![Code Climate](https://codeclimate.com/github/CodeforLeipzig/stadtratmonitor/badges/gpa.svg)](https://codeclimate.com/github/CodeforLeipzig/stadtratmonitor)
|
||||
|
||||
## Setup
|
||||
|
|
|
@ -17,18 +17,3 @@
|
|||
//= require_tree .
|
||||
|
||||
$(function(){ $(document).foundation(); });
|
||||
|
||||
$('[data-persona-login]').click(function(e) {
|
||||
e.preventDefault();
|
||||
navigator.id.get(function(assertion) {
|
||||
if (assertion) {
|
||||
if (assertion) {
|
||||
var form = $('#browser-id-form');
|
||||
form.find('input[name=assertion]').val(assertion);
|
||||
form.submit();
|
||||
} else {
|
||||
// TODO: Handle failure
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -27,6 +27,7 @@ class Paper < ActiveRecord::Base
|
|||
indexes :content, type: :string, analyzer: "german"
|
||||
indexes :resolution, type: :string, analyzer: "german"
|
||||
indexes :paper_type, type: :string, index: :not_analyzed
|
||||
indexes :published_at, type: :date, index: :not_analyzed
|
||||
indexes :originator, type: :string, index: :not_analyzed
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,11 +9,11 @@ class PaperSearch < ActiveRecord::Base
|
|||
Elasticsearch::DSL::Search.search do
|
||||
|
||||
sort do
|
||||
if options[:sort_by] == 'date'
|
||||
by :published_at, order: 'desc'
|
||||
end
|
||||
if options[:sort_by] == 'score'
|
||||
by '_score'
|
||||
end
|
||||
by :published_at, order: 'desc'
|
||||
end
|
||||
|
||||
query do
|
||||
# search query
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
= form_tag '/auth/browser_id/callback', id: 'browser-id-form'
|
||||
= hidden_field_tag(:assertion)
|
||||
|
||||
- if signed_in?
|
||||
= link_to session_path, data: { method: :delete, logout: true }
|
||||
| Abmelden
|
||||
- else
|
||||
= link_to session_path, data: { 'persona-login' => true }
|
||||
| Anmelden
|
|
@ -11,11 +11,8 @@ html
|
|||
.row
|
||||
.small-12.columns
|
||||
.clearfix
|
||||
.right = render 'login_button'
|
||||
h1#title = link_to 'Stadtratmonitor Leipzig', root_path
|
||||
- flash.each do |name, msg|
|
||||
= content_tag :div, msg, class: name
|
||||
= yield
|
||||
|
||||
script src="https://login.persona.org/include.js"
|
||||
= javascript_include_tag 'application', 'data-turbolinks-track' => true
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
require 'test_helper'
|
||||
|
||||
class AuthenticationTest < ActionDispatch::IntegrationTest
|
||||
test 'register via first time sign in and sign out' do
|
||||
visit '/auth/developer'
|
||||
fill_in 'Name', with: 'me'
|
||||
fill_in 'Email', with: 'user@example.com'
|
||||
click_button 'Sign In'
|
||||
assert_equal '/leipzig', current_path
|
||||
assert_is_signed_in
|
||||
|
||||
click_link 'Abmelden'
|
||||
assert_equal '/leipzig', current_path
|
||||
assert_is_signed_out
|
||||
end
|
||||
|
||||
def assert_is_signed_in
|
||||
assert_equal 'Abmelden', find('[data-logout]').text
|
||||
end
|
||||
|
||||
def assert_is_signed_out
|
||||
assert_equal 'Anmelden', find('[data-persona-login]').text
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue