Skip to content

Commit

Permalink
Merge branch 'defect-1401-mount-non-root'
Browse files Browse the repository at this point in the history
Conflicts:
	ckan/templates/layout_base.html
[merge,from-branch][m]: fixes #1401 - merge 1401 branch thereby closing issue.
  • Loading branch information
rufuspollock committed Jan 20, 2012
2 parents 1c27394 + cd74cda commit 7088b1f
Show file tree
Hide file tree
Showing 12 changed files with 55 additions and 55 deletions.
5 changes: 2 additions & 3 deletions ckan/lib/helpers.py
Expand Up @@ -206,8 +206,7 @@ def linked_user(user, maxlength=0):
_name = user.name if model.User.VALID_NAME.match(user.name) else user.id
# Absolute URL of default user icon
from pylons import config
_site_url = config.get('ckan.site_url', '')
_icon_url_default = _site_url + icon_url("user")
_icon_url_default = icon_url("user")
_icon = gravatar(user.email_hash, 16, _icon_url_default)+" "
displayname = user.display_name
if maxlength and len(user.display_name) > maxlength:
Expand All @@ -230,7 +229,7 @@ def markdown_extract(text, extract_length=190):
return unicode(truncate(plain, length=extract_length, indicator='...', whole_word=True))

def icon_url(name):
return '/images/icons/%s.png' % name
return url_for('/images/icons/%s.png' % name)

def icon_html(url, alt=None):
return literal('<img src="%s" height="16px" width="16px" alt="%s" /> ' % (url, alt))
Expand Down
4 changes: 2 additions & 2 deletions ckan/public/css/style.css
@@ -1,5 +1,5 @@
@import url('/css/forms.css');
@import url('/css/pretty_buttons.css');
@import url('forms.css');
@import url('pretty_buttons.css');

body.no-sidebar #sidebar { display: none; }
body.no-sidebar #content {
Expand Down
14 changes: 7 additions & 7 deletions ckan/public/scripts/application.js
Expand Up @@ -10,7 +10,7 @@
CKAN.Utils.setupMarkdownEditor($('.markdown-editor'));
// set up ckan js
var config = {
endpoint: '/'
endpoint: CKAN.SITE_URL + '/'
};
var client = new CKAN.Client(config);
// serious hack to deal with hacky code in ckanjs
Expand Down Expand Up @@ -139,7 +139,7 @@ CKAN.Utils = function($, my) {
if (urlInput.length==0) throw "No urlInput found.";
if (validMsg.length==0) throw "No validMsg found.";

var api_url = '/api/2/util/is_slug_valid';
var api_url = CKAN.SITE_URL + '/api/2/util/is_slug_valid';
// (make length less than max, in case we need a few for '_' chars to de-clash slugs.)
var MAX_SLUG_LENGTH = 90;

Expand Down Expand Up @@ -298,7 +298,7 @@ CKAN.Utils = function($, my) {
source: function(request, callback) {
// here request.term is whole list of tags so need to get last
var _realTerm = request.term.split(',').pop().trim();
var url = '/api/2/util/tag/autocomplete?incomplete=' + _realTerm;
var url = CKAN.SITE_URL + '/api/2/util/tag/autocomplete?incomplete=' + _realTerm;
$.getJSON(url, function(data) {
// data = { ResultSet: { Result: [ {Name: tag} ] } } (Why oh why?)
var tags = $.map(data.ResultSet.Result, function(value, idx) {
Expand Down Expand Up @@ -334,7 +334,7 @@ CKAN.Utils = function($, my) {
elements.autocomplete({
minLength: 1,
source: function(request, callback) {
var url = '/api/2/util/resource/format_autocomplete?incomplete=' + request.term;
var url = CKAN.SITE_URL + '/api/2/util/resource/format_autocomplete?incomplete=' + request.term;
$.getJSON(url, function(data) {
// data = { ResultSet: { Result: [ {Name: tag} ] } } (Why oh why?)
var formats = $.map(data.ResultSet.Result, function(value, idx) {
Expand All @@ -353,7 +353,7 @@ CKAN.Utils = function($, my) {
elements.autocomplete({
minLength: 2,
source: function(request, callback) {
var url = '/api/2/util/user/autocomplete?q=' + request.term;
var url = CKAN.SITE_URL + '/api/2/util/user/autocomplete?q=' + request.term;
$.getJSON(url, function(data) {
$.each(data, function(idx, userobj) {
var label = userobj.name;
Expand All @@ -376,7 +376,7 @@ CKAN.Utils = function($, my) {
elements.autocomplete({
minLength: 2,
source: function(request, callback) {
var url = '/api/2/util/authorizationgroup/autocomplete?q=' + request.term;
var url = CKAN.SITE_URL + '/api/2/util/authorizationgroup/autocomplete?q=' + request.term;
$.getJSON(url, function(data) {
$.each(data, function(idx, userobj) {
var label = userobj.name;
Expand Down Expand Up @@ -404,7 +404,7 @@ CKAN.Utils = function($, my) {
$target.addClass('depressed');
raw_markdown=textarea.val();
preview.html("<em>"+CKAN.Strings.loading+"<em>");
$.post("/api/util/markdown", { q: raw_markdown },
$.post(CKAN.SITE_URL + "/api/util/markdown", { q: raw_markdown },
function(data) { preview.html(data); }
);
preview.width(textarea.width())
Expand Down
2 changes: 1 addition & 1 deletion ckan/templates/_util.html
Expand Up @@ -183,7 +183,7 @@

<!--! Dataset openness icons -->
<img py:def="package_license_icon(package)"
src="${g.site_url}/images/icons/door_${'open' if package.isopen() else 'grey'}.png"
src="${h.url_for('/images/icons/door_%s.png' % 'open' if package.isopen() else 'grey')}"
title="License: ${package.license.title if hasattr(package.license, 'title') else '?'}"
alt="${'OPEN' if package.isopen() else 'CLOSED'}" />

Expand Down
2 changes: 1 addition & 1 deletion ckan/templates/group/new_group_form.html
Expand Up @@ -19,7 +19,7 @@ <h2>Errors in form</h2>

<dt><label class="field_opt" for="title">Url</label></dt>
<dd class="name-field">
<span class="js-url-text url-text">${g.site_url+h.url_for(controller='group', action='index')+'/'}<span class="js-url-viewmode js-url-suffix">&nbsp;</span><a style="display: none;" href="#" class="url-edit js-url-editlink js-url-viewmode">(edit)</a></span>
<span class="js-url-text url-text">${url(controller='group', action='index')+'/'}<span class="js-url-viewmode js-url-suffix">&nbsp;</span><a style="display: none;" href="#" class="url-edit js-url-editlink js-url-viewmode">(edit)</a></span>
<input style="display: none;" id="name" maxlength="100" name="name" type="text" class="url-input js-url-editmode js-url-input" value="${data.get('name', '')}" />
<p class="js-url-is-valid">&nbsp;</p>
</dd>
Expand Down
43 changes: 22 additions & 21 deletions ckan/templates/layout_base.html
Expand Up @@ -29,14 +29,14 @@
</py:choose>
<link href='http://fonts.googleapis.com/css?family=Ubuntu' rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="${g.site_url}/scripts/vendor/jqueryui/1.8.14/css/jquery-ui.custom.css" type="text/css" media="screen, print" />
<link rel="stylesheet" href="${g.site_url}/css/boilerplate.css?v=2" />
<link rel="stylesheet" href="${g.site_url}/css/blueprint/screen.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="${g.site_url}/css/blueprint/print.css" type="text/css" media="print" />
<link rel="stylesheet" href="${h.url_for('/scripts/vendor/jqueryui/1.8.14/css/jquery-ui.custom.css')}" type="text/css" media="screen, print" />
<link rel="stylesheet" href="${h.url_for('/css/boilerplate.css?v=2')}" />
<link rel="stylesheet" href="${h.url_for('/css/blueprint/screen.css')}" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="${h.url_for('/css/blueprint/print.css')}" type="text/css" media="print" />
<!--[if lt IE 8]>
<link rel="stylesheet" href="${g.site_url}/css/blueprint/ie.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="${h.url_for('/css/blueprint/ie.css')}" type="text/css" media="screen, projection">
<![endif]-->
<link rel="stylesheet" href="${g.site_url}/css/style.css?v=2" />
<link rel="stylesheet" href="${h.url_for('/css/style.css?v=2')}" />

<py:if test="defined('optional_head')">
${optional_head()}
Expand Down Expand Up @@ -134,7 +134,7 @@ <h3 class="widget-title">About ${g.site_title}</h3>
<li>${h.link_to(_('API'), h.url_for(controller='api', action='get_api'))}</li>
<li>${h.link_to(_('API Docs'), 'http://wiki.ckan.net/API')}</li>
<li>
<a href="http://okfn.org/contact/">Contact Us</a>
<a href="http://ckan.org/contact/">Contact Us</a>
</li>
<li>
<a href="http://okfn.org/privacy-policy/">Privacy Policy</a>
Expand Down Expand Up @@ -218,31 +218,32 @@ <h3 class="widget-title">Meta</h3>

<!--script
src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script-->
<script src="${g.site_url}/scripts/vendor/jquery/1.6.2/jquery.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/json2.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/jquery.tmpl/beta1/jquery.tmpl.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/jquery.cookie/jquery.cookie.min.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/jquery.placeholder/jquery.placeholder.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/jqueryui/1.8.14/jquery-ui.min.js"></script>
<script src="${h.url_for('/scripts/vendor/jquery/1.6.2/jquery.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/json2.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/jquery.tmpl/beta1/jquery.tmpl.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/jquery.cookie/jquery.cookie.min.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/jquery.placeholder/jquery.placeholder.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/jqueryui/1.8.14/jquery-ui.min.js')}"></script>
<!-- for ckanjs etc -->
<script type="text/javascript" src="${g.site_url}/scripts/vendor/underscore/1.1.6/underscore.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/backbone/0.5.1/backbone.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/jquery.fileupload/20110801/jquery.iframe-transport.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/jquery.fileupload/20110801/jquery.fileupload.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/ckanjs/1.0.0/ckanjs.js"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/underscore/1.1.6/underscore.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/backbone/0.5.1/backbone.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/jquery.fileupload/20110801/jquery.iframe-transport.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/jquery.fileupload/20110801/jquery.fileupload.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/ckanjs/1.0.0/ckanjs.js')}"></script>
<!-- Translated js strings live inside an html template. -->
<xi:include href="js_strings.html" />
<!-- finally our application js that sets everything up-->
<script type="text/javascript" src="${g.site_url}/scripts/application.js?lang=${c.locale}"></script>
<script type="text/javascript" src="${g.site_url}/scripts/templates.js"></script>
<script type="text/javascript" src="${h.url_for('/scripts/application.js?lang=${c.locale}')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/templates.js')}"></script>

<script src="${g.site_url}/scripts/vendor/modernizr/1.7/modernizr.min.js"></script>
<script src="${h.url_for('/scripts/vendor/modernizr/1.7/modernizr.min.js')}"></script>

<script type="text/javascript">
CKAN.plugins = [
// Declare js array from Python string
${['\'%s\', '%s for s in config.get('ckan.plugins','').split(' ')]}
];
CKAN.SITE_URL = '${g.site_url}';
$(document).ready(function() {
var ckan_user = $.cookie("ckan_display_name");
if (ckan_user) {
Expand Down
4 changes: 2 additions & 2 deletions ckan/templates/package/layout.html
Expand Up @@ -12,7 +12,7 @@
<py:choose>
<py:when test="len(c.pkg_dict.get('resources', []))==0">
<li class="disabled">
${h.icon('package-disabled') + _('Resources')} &nbsp;&nbsp;<img class="dropdown-arrow" src="/images/icons/arrow-open.gif"/>
${h.icon('package-disabled') + _('Resources')} &nbsp;&nbsp;<img class="dropdown-arrow" src="${h.url_for('/images/icons/arrow-open.gif')}"/>
</li>
</py:when>
<py:otherwise>
Expand All @@ -27,7 +27,7 @@
<div class="dropdown-appears"><div class="white-box"></div></div>
<a href="${h.url_for(controller='package', action='resource_read', id=c.pkg_dict['name'], resource_id=c.pkg_dict.get('resources', [])[0]['id'])}">
${h.icon('package') + _('Resources')}</a>
&nbsp;&nbsp;<img class="dropdown-arrow" src="/images/icons/arrow-open.gif"/>
&nbsp;&nbsp;<img class="dropdown-arrow" src="${h.url_for('/images/icons/arrow-open.gif')}"/>

</li>
</py:otherwise>
Expand Down
2 changes: 1 addition & 1 deletion ckan/templates/package/new_package_form.html
Expand Up @@ -41,7 +41,7 @@ <h2>Errors in form</h2>

<dt class="name-label"><label class="field_req" for="name">Url</label></dt>
<dd class="name-field">
<span class="js-url-text url-text">${g.site_url+url(controller='package', action='index')+'/'}<span class="js-url-viewmode js-url-suffix">&nbsp;</span><a href="#" style="display: none;" class="url-edit js-url-editlink js-url-viewmode">(edit)</a></span>
<span class="js-url-text url-text">${url(controller='package', action='index')+'/'}<span class="js-url-viewmode js-url-suffix">&nbsp;</span><a href="#" style="display: none;" class="url-edit js-url-editlink js-url-viewmode">(edit)</a></span>
<input style="display: none;" id="name" maxlength="100" name="name" type="text" class="url-input js-url-editmode js-url-input" value="${data.get('name', '')}" />
<p class="js-url-is-valid">&nbsp;</p>
</dd>
Expand Down
20 changes: 10 additions & 10 deletions ckan/templates/package/resource_read.html
Expand Up @@ -13,9 +13,9 @@

<py:def function="optional_head">
<!-- data preview -->
<link rel="stylesheet" href="${g.site_url}/scripts/vendor/slickgrid/slick.grid.css" />
<link rel="stylesheet" href="${g.site_url}/scripts/vendor/slickgrid/slick.columnpicker.css" />
<link rel="stylesheet" href="${g.site_url}/scripts/dataexplorer/table-view.css" />
<link rel="stylesheet" href="${h.url_for('/scripts/vendor/slickgrid/slick.grid.css')}" />
<link rel="stylesheet" href="${h.url_for('/scripts/vendor/slickgrid/slick.columnpicker.css')}" />
<link rel="stylesheet" href="${h.url_for('/scripts/dataexplorer/table-view.css')}" />
<!-- /data preview -->
<script type="text/javascript">
var preload_resource = ${c.resource_json};
Expand Down Expand Up @@ -118,13 +118,13 @@ <h3>Additional Information</h3>

<py:def function="optional_footer">
<!-- data preview -->
<script type="text/javascript" src="${g.site_url}/scripts/vendor/jquery.event.drag/2.0/jquery.event.drag.min.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/slickgrid/slick.grid.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/slickgrid/slick.columnpicker.js"></script>
<script type="text/javascript" src="${g.site_url}/scripts/vendor/flot/0.7/jquery.flot.js"></script>
<script src="${g.site_url}/scripts/dataexplorer/table-view.js"></script>
<script src="${g.site_url}/scripts/dataexplorer/table-view.ui.js"></script>
<script src="${g.site_url}/scripts/dataexplorer/table-view-template.js"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/jquery.event.drag/2.0/jquery.event.drag.min.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/slickgrid/slick.grid.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/slickgrid/slick.columnpicker.js')}"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/flot/0.7/jquery.flot.js')}"></script>
<script src="${h.url_for('/scripts/dataexplorer/table-view.js')}"></script>
<script src="${h.url_for('/scripts/dataexplorer/table-view.ui.js')}"></script>
<script src="${h.url_for('/scripts/dataexplorer/table-view-template.js')}"></script>
</py:def>

<xi:include href="layout.html" />
Expand Down
8 changes: 4 additions & 4 deletions ckan/templates/user/login.html
Expand Up @@ -5,10 +5,10 @@

<py:def function="optional_head">
<!-- Simple OpenID Selector -->
<link rel="stylesheet" href="${g.site_url}/scripts/vendor/openid-selector/css/openid.css" />
<link rel="stylesheet" href="${h.url_for('/scripts/vendor/openid-selector/css/openid.css')}" />
</py:def>
<py:def function="optional_footer">
<script type="text/javascript" src="${g.site_url}/scripts/vendor/openid-selector/js/openid-jquery.js"></script>
<script type="text/javascript" src="${h.url_for('/scripts/vendor/openid-selector/js/openid-jquery.js')}"></script>
<script type="text/javascript">
$(document).ready(function() {
openid.init('openid_identifier');
Expand All @@ -21,7 +21,7 @@

<div py:match="content">

<form action="/login_generic" method="post" class="simple-form" id="login">
<form action="${h.url_for('/login_generic')}" method="post" class="simple-form" id="login">
<fieldset>
<!--legend i18n:msg="site_title">Login</legend-->

Expand All @@ -40,7 +40,7 @@
</form>
<br/>
<!-- Simple OpenID Selector -->
<form py:if="g.openid_enabled" action="/login_openid" method="post"
<form py:if="g.openid_enabled" action="${h.url_for('/login_openid')}" method="post"
class="simple-form" id="openid_form">
<input type="hidden" name="action" value="verify" />
<fieldset>
Expand Down
4 changes: 2 additions & 2 deletions ckanext/stats/templates/ckanext/stats/leaderboard.html
Expand Up @@ -11,8 +11,8 @@
<script type="text/javascript">
var solrCoreUrl = '${c.solr_core_url}';
</script>
<script type="text/javascript" src="${g.site_url}/ckanext/stats/app.js"></script>
<link type="text/css" rel="stylesheet" media="all" href="${g.site_url}/ckanext/stats/style.css" />
<script type="text/javascript" src="${h.url_for('/ckanext/stats/app.js')}"></script>
<link type="text/css" rel="stylesheet" media="all" href="${h.url_for('/ckanext/stats/style.css')}" />
</py:def>

<div py:match="content">
Expand Down
2 changes: 1 addition & 1 deletion doc/theming.rst
Expand Up @@ -116,7 +116,7 @@ Next, copy the ``layout.html`` template and add a reference to the new CSS file.
py:strip="">
<head py:match="head">
${select('*')}
<link rel="stylesheet" href="${g.site_url}/css/mycss.css" />
<link rel="stylesheet" href="${h.url_for('/css/mycss.css')}" />
</head>
<xi:include href="layout_base.html" />
</html>
Expand Down

0 comments on commit 7088b1f

Please sign in to comment.