--- a/ckanext/ga_report/templates/ga_report/publisher/read.html +++ b/ckanext/ga_report/templates/ga_report/publisher/read.html @@ -3,57 +3,76 @@ xmlns:xi="http://www.w3.org/2001/XInclude" py:strip=""> - <py:def function="page_title">Analytics for ${g.site_title}</py:def> + <xi:include href="../ga_util.html" /> - <py:match path="primarysidebar"> + <py:def function="page_title">Usage by Dataset</py:def> - <li class="widget-container boxed widget_text"> - <h4>${c.publisher.title}</h4> - <p> - The table shows the top 20 most viewed datasets belonging to ${c.publisher.title}. - </p> - <p> - As well as showing the number of views within ${c.month_desc}, it will also show the - number of visitors that viewed each dataset. - </p> - <p>The dataset list page for <a href="${h.url_for(controller='ckanext.dgu.controllers.publisher:PublisherController', action='read', id=c.publisher.name)}">${c.publisher.title}</a> was viewed ${c.publisher_page_views} times during ${c.month_desc}</p> - <p>View the <a href="${h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport', action='index')}">publishers</a> leaderboard</p> - </li> + <py:def function="optional_head"> + <link rel="stylesheet" type="text/css" href="/scripts/vendor/rickshaw.min.css"/> + <link rel="stylesheet" type="text/css" href="/css/ga_report.css?1"/> + <script type="text/javascript" src="/scripts/modernizr-2.6.2.custom.js"></script> + <script type="text/javascript" src="/scripts/ckanext_ga_reports.js?1"></script> + <script type="text/javascript" src="/scripts/vendor/jquery.sparkline.modified.js"></script> + <script type="text/javascript" src="/scripts/rickshaw_ie7_shim.js"></script> + <script type="text/javascript" src="/scripts/vendor/d3.v2.js"></script> + <script type="text/javascript" src="/scripts/vendor/d3.layout.min.js"></script> + <script type="text/javascript" src="/scripts/vendor/rickshaw.min.js"></script> + </py:def> + + <py:match path="primarysidebar"> + ${ga_sidebar(download_link=h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='dataset_csv',id=c.publisher_name or 'all',month=c.month or 'all'))} </py:match> + <py:def function="page_heading">Site Usage ${usage_nav('Datasets')}</py:def> <div py:match="content"> - <h1>Analytics for ${c.publisher.title}</h1> - <h2>Top 20 most viewed datasets</h2> - <p><em>Note: this data does not include API calls</em></p> + <div class="boxed"> + <h3 py:if="c.publisher"><a href="${h.url_for(controller='ckanext.dgu.controllers.publisher:PublisherController',action='read',id=c.publisher.name)}">${c.publisher.title}</a></h3> - <form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport',action='read',id=c.publisher.name)}" method="get"> - <div class="controls"> - <select name="month"> - <py:for each="val,desc in c.months"> - <option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> + <py:if test="c.graph_data"> + ${rickshaw_graph(c.graph_data,'dataset-downloads',debug=True)} + </py:if> + <form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='read')}" method="get"> + <div class="controls"> + + ${month_selector(c.month, c.months, c.day)} + + <select name="publisher"> + <option value='' py:attrs="{'selected': 'selected' if not c.publisher else None}">All publishers</option> + <py:for each="val,desc in c.publishers"> + <option value='${val}' py:attrs="{'selected': 'selected' if c.publisher_name == val else None}">${desc}</option> </py:for> </select> - <input class="btn button" type='submit' value="Update"/> - </div> - </form> + <input class="btn button btn-primary" type='submit' value="Update"/> + </div> + </form> + <py:if test="c.month"> + <h4>Statistics for ${h.month_option_title(c.month,c.months,c.day)}:</h4> + </py:if> + <py:if test="not c.month"> + <h4>Statistics for all months:</h4> + </py:if> + <div class="alert alert-info" py:if="not c.top_packages">No page views in this period.</div> + <py:if test="c.top_packages"> + <table class="ga-reports-table table table-condensed table-bordered table-striped"> + <tr> + <th>Dataset</th> + <th>Views</th> + <th>Downloads</th> + </tr> + <py:for each="package, views, visits,downloads in c.top_packages"> + <tr> + <td> + ${h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name))} + </td> + <td class="td-numeric">${views}</td> + <td class="td-numeric">${downloads}</td> + </tr> + </py:for> + </table> + </py:if> - <table class="table table-condensed table-bordered table-striped"> - <tr> - <th>Dataset</th> - <th>Views</th> - <th>Visits</th> - </tr> - <py:for each="package, views, visits in c.top_packages"> - <tr> - <td>${h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name))} - </td> - <td>${views}</td> - <td>${visits}</td> - </tr> - </py:for> - </table> - + </div> </div>