summaryrefslogtreecommitdiff
path: root/web/views/reports
diff options
context:
space:
mode:
authorJochen Topf <jochen@topf.org>2010-11-08 19:16:18 +0100
committerJochen Topf <jochen@topf.org>2010-11-08 19:16:18 +0100
commitf3a58367ddca7282b91ca8c2ce9546f35f0d272d (patch)
tree9e22e05704de65fdd9bba79e19e6e0058c96fc2b /web/views/reports
parentdd7792452472ab5dc9291e555fbf0eaae429dfc2 (diff)
downloadtaginfo-f3a58367ddca7282b91ca8c2ce9546f35f0d272d.tar
taginfo-f3a58367ddca7282b91ca8c2ce9546f35f0d272d.tar.gz
Added two reports
Diffstat (limited to 'web/views/reports')
-rw-r--r--web/views/reports/index.erb2
-rw-r--r--web/views/reports/language_comparison_table_for_keys_in_the_wiki.erb72
-rw-r--r--web/views/reports/wiki_pages_about_non-existing_keys.erb49
3 files changed, 123 insertions, 0 deletions
diff --git a/web/views/reports/index.erb b/web/views/reports/index.erb
index d054731..9040a1b 100644
--- a/web/views/reports/index.erb
+++ b/web/views/reports/index.erb
@@ -11,5 +11,7 @@
<ul>
<li><a href="/reports/frequently_used_keys_without_wiki_page">Frequently used keys without wiki page</a></li>
+ <li><a href="/reports/wiki_pages_about_non-existing_keys">Wiki pages about non-existing keys</a></li>
+ <li><a href="/reports/language_comparison_table_for_keys_in_the_wiki">Language comparison table for keys in the wiki</a></li>
</ul>
diff --git a/web/views/reports/language_comparison_table_for_keys_in_the_wiki.erb b/web/views/reports/language_comparison_table_for_keys_in_the_wiki.erb
new file mode 100644
index 0000000..6d60721
--- /dev/null
+++ b/web/views/reports/language_comparison_table_for_keys_in_the_wiki.erb
@@ -0,0 +1,72 @@
+<%
+ @languages = @db.execute('SELECT language FROM wiki_languages ORDER by language').map do |row|
+ row['language']
+ end
+
+ lang_lookup = Hash.new
+ @languages.each_with_index do |lang, idx|
+ lang_lookup[lang] = idx + 1
+ end
+ @languages_lookup = @languages.map{ |lang| "'#{lang}': #{lang_lookup[lang]}" }.join(', ')
+%>
+
+<h1><%= @title %></h1>
+
+<p>This table shows all tag keys for which there are wiki pages available and in what languages they are.</p>
+
+<table id="wiki-keys">
+</table>
+
+<p></p>
+
+<table>
+ <tr><td><img src="/img/sources/wiki/wiki-t.png" alt="[t]"/></td><td>Page in wiki available and contains standard template.</td></tr>
+ <tr><td><img src="/img/sources/wiki/wiki-e.png" alt="[e]"/></td><td>Page in wiki available and contains standard template, but couldn't be parsed.</td></tr>
+ <tr><td><img src="/img/sources/wiki/wiki-p.png" alt="[p]"/></td><td>Page in wiki available but doesn't contain standard template.</td></tr>
+ <tr><td><img src="/img/sources/wiki/wiki-r.png" alt="[r]"/></td><td>Page is a redirect.</td></tr>
+</table>
+
+<script type="text/javascript">
+ jQuery(document).ready(function() {
+ var lang_to_idx = {
+ <%= @languages_lookup %>
+ };
+ jQuery('#wiki-keys').flexigrid({
+ url: '/api/2/wiki/keys',
+ method: 'GET',
+ dataType: 'json',
+ colModel: [
+ { display: '<br/>Key', name: 'key', width: 200, sortable: true },
+ <% @languages.each do |lang| %>
+ { display: '<%= ::Language[lang].native_name %><br /><span class="lang" style="margin-top: 2px;"><%= lang %></span>', name: '<%= lang %>', align: 'center', width: 60, sortable: false },
+ <% end %>
+ ],
+ searchitems: [
+ { display: 'Key', name: 'key' }
+ ],
+ sortname: 'key',
+ sortorder: 'asc',
+ showToggleBtn: false,
+ showTableToggleBtn: false,
+ usepager: true,
+ useRp: true,
+ rpOptions: [10,15,20,25,50,100],
+ rp: 15,
+ height: 400,
+ preProcess: function(data) {
+ return {
+ total: data.total,
+ page: data.page,
+ rows: jQuery.map(data.data, function(row, i) {
+ d = [link_to_key(row.key) <%= @languages.map{ ", ''"}.join() %>];
+ for (var lang in row.lang) {
+ ptype = row.lang[lang];
+ d[lang_to_idx[lang]] = '<img src="/img/sources/wiki/wiki-' + ptype + '.png" alt="[' + ptype + ']"/>';
+ }
+ return { 'cell': d };
+ })
+ };
+ }
+ });
+ });
+</script>
diff --git a/web/views/reports/wiki_pages_about_non-existing_keys.erb b/web/views/reports/wiki_pages_about_non-existing_keys.erb
new file mode 100644
index 0000000..f04c13b
--- /dev/null
+++ b/web/views/reports/wiki_pages_about_non-existing_keys.erb
@@ -0,0 +1,49 @@
+<h1><%= @title %></h1>
+
+<p>This table shows keys for which a wiki page exists but there is not a single
+instance in the database. This is not necessarily an error (maybe somebody
+added the documentation in the wiki as preparation for using a key), but it can
+also be a typo or other error.</p>
+
+<table id="keys">
+</table>
+
+<script type="text/javascript">
+ jQuery(document).ready(function() {
+ jQuery('#keys').flexigrid({
+ url: '/api/2/db/keys?filters=in_wiki,not_in_db',
+ method: 'GET',
+ dataType: 'json',
+ colModel: [
+ { display: '<img src="/img/sources/wiki.16.png" alt="Wiki" title="Wiki"/>', name: 'in_wiki', width: 20, sortable: true, align: 'center' },
+ { display: '<img src="/img/sources/josm.16.png" alt="JOSM" title="JOSM"/>', name: 'in_josm', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/potlatch.16.png" alt="Potlatch 2" title="Potlatch 2"/>', name: 'in_potlatch', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/merkaartor.16.png" alt="Merkaartor" title="Merkaartor"/>', name: 'in_merkaartor', width: 20, sortable: true, align: 'center' },
+ { display: 'Key', name: 'key', width: 260, sortable: true, align: 'left' }
+ ],
+ searchitems: [
+ { display: 'Key', name: 'key' }
+ ],
+ sortname: 'count_all',
+ sortorder: 'desc',
+ showToggleBtn: false,
+ usepager: true,
+ useRp: true,
+ rp: 15,
+ rpOptions: [10,15,20,25,50,100],
+ height: 420,
+ preProcess: function(data) {
+ data.rows = jQuery.map(data.data, function(row, i) {
+ return { 'cell': [
+ row.in_wiki ? '&#x2714;' : '-',
+ row.in_josm ? '&#x2714;' : '-',
+ // row.in_potlatch ? '&#x2714;' : '-',
+ // row.in_merkaartor ? '&#x2714;' : '-',
+ link_to_key(row.key)
+ ] };
+ });
+ return data;
+ }
+ });
+ });
+</script>