Skip to content
Snippets Groups Projects
Commit b169b640 authored by chbaeh's avatar chbaeh
Browse files

ODPSH-283: change layout

parent 38a053b8
No related branches found
No related tags found
No related merge requests found
import ckan.lib.base as base import ckan.lib.base as base
from ckan.controllers.home import HomeController from ckan.controllers.home import HomeController
from ckan.controllers.user import UserController from ckan.controllers.user import UserController
from ckan.controllers.package import PackageController
import ckan.lib.helpers as h import ckan.lib.helpers as h
import ckan.authz as authz import ckan.authz as authz
from ckan.common import c from ckan.common import c
...@@ -48,3 +49,6 @@ class OdshUserController(UserController): ...@@ -48,3 +49,6 @@ class OdshUserController(UserController):
if not authz.is_sysadmin(c.user): if not authz.is_sysadmin(c.user):
abort(404) abort(404)
return super(OdshUserController,self).activity(id, offset) return super(OdshUserController,self).activity(id, offset)
class OdshPackageController(PackageController):
pass
\ No newline at end of file
No preview for this file type
...@@ -318,3 +318,8 @@ msgstr "Veröffentlichungsdatum aufsteigend" ...@@ -318,3 +318,8 @@ msgstr "Veröffentlichungsdatum aufsteigend"
msgid "Issued Descending" msgid "Issued Descending"
msgstr "Veröffentlichungsdatum absteigend" msgstr "Veröffentlichungsdatum absteigend"
msgid "Name Resource"
msgstr "Name Ressource"
msgid "Resource count"
msgstr "Anzahl Ressourcen"
\ No newline at end of file
...@@ -267,6 +267,8 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm ...@@ -267,6 +267,8 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
map.connect('home', '/', map.connect('home', '/',
controller='ckanext.odsh.controller:OdshRouteController', action='start') controller='ckanext.odsh.controller:OdshRouteController', action='start')
map.redirect('/dataset/{id}/resource/{resource_id}', '/dataset/{id}')
# redirect all user routes to custom controller # redirect all user routes to custom controller
with SubMapper(map, controller='ckanext.odsh.controller:OdshUserController') as m: with SubMapper(map, controller='ckanext.odsh.controller:OdshUserController') as m:
m.connect('/user/edit', action='edit') m.connect('/user/edit', action='edit')
......
...@@ -1550,6 +1550,8 @@ font-weight: 100; ...@@ -1550,6 +1550,8 @@ font-weight: 100;
.required-text{ .required-text{
font-size: 14px; font-size: 14px;
margin-top: 20px;
display: block;
} }
.error-reange-search{ .error-reange-search{
...@@ -1700,6 +1702,7 @@ a:hover.tooltips_cls span { ...@@ -1700,6 +1702,7 @@ a:hover.tooltips_cls span {
width:60%; width:60%;
} }
.resource-edit-form .row-fluid .span6,
.dataset-edit-form .span6 .dataset-edit-form .span6
{ {
width:60%; width:60%;
...@@ -1714,6 +1717,7 @@ a:hover.tooltips_cls span { ...@@ -1714,6 +1717,7 @@ a:hover.tooltips_cls span {
{ {
display: inline-block; display: inline-block;
} }
.dataset-edit-form .row-fluid .span3 .dataset-edit-form .row-fluid .span3
{ {
display: inline-block; display: inline-block;
......
{% extends "package/base.html" %}
{% set logged_in = true if c.userobj else false %}
{% set res = c.resource %}
{% block breadcrumb_content_selected %}{% endblock %}
{% block breadcrumb_content %}
{{ super() }}
{% if res %}
<li>{% link_for h.resource_display_name(res)|truncate(30), controller='package', action='resource_read', id=pkg.name, resource_id=res.id %}</li>
<li{% block breadcrumb_edit_selected %} class="active"{% endblock %}><a href="">{{ _('Edit') }}</a></li>
{% endif %}
{% endblock %}
{% block content_action %}
{% endblock %}
{% block content_primary_nav %}
{% endblock %}
{% block primary_content_inner %}
<div class="odsh-dataset-heading">
<span>Ressource {%if(res.name)%}&#65282;{{res.name}}&#65282;{%endif%} bearbeiten</span>
{% if res %}
{% link_for _('back'), controller='package', action='resource_read', id=pkg.name, resource_id=res.id, class_='btn pull-right', icon='arrow-left' %}
{% endif %}
<span class="clear"></span>
</div>
<h1 class="hide-heading">{% block form_title %}{{ _('Edit resource') }}{% endblock %}</h1>
{% block form %}{% endblock %}
{% endblock %}
{% block secondary_content %}
{% snippet 'package/snippets/resource_info.html', res=res,pkg=pkg %}
{% endblock %}
{% block scripts %}
{{ super() }}
{% resource 'vendor/fileupload' %}
{% endblock %}
{% extends "package/base.html" %}
{% set res = c.resource %}
{% block head_extras -%}
{{ super() }}
{% set description = h.markdown_extract(h.get_translated(res, 'description'), extract_length=200) if res.description else h.markdown_extract(h.get_translated(c.package, 'notes'), extract_length=200) %}
<meta property="og:title" content="{{ h.dataset_display_name(c.package) }} - {{ h.resource_display_name(res) }} - {{ g.site_title }}">
<meta property="og:description" content="{{ description|forceescape }}">
{% endblock -%}
{% block subtitle %}{{ h.dataset_display_name(c.package) }} - {{ h.resource_display_name(res) }}{% endblock %}
{% block breadcrumb_content_selected %}{% endblock %}
{% block breadcrumb_content %}
{{ super() }}
<li class="active"><a href="">{{ h.resource_display_name(res)|truncate(30) }}</a></li>
{% endblock %}
{% block pre_primary %}
{% block resource %}
<section class="module module-resource">
{% block resource_inner %}
<div class="module-content">
<div class="actions">
{% block resource_actions %}
<ul>
{% block resource_actions_inner %}
{% if h.check_access('package_update', {'id':pkg.id }) %}
<li>{% link_for _('Manage'), controller='package', action='resource_edit', id=pkg.name, resource_id=res.id, class_='btn', icon='wrench' %}</li>
{% endif %}
{% if res.url and h.is_url(res.url) %}
<li>
<a class="btn btn-primary resource-url-analytics resource-type-{{ res.resource_type }}" href="{{ res.url }}">
{% if res.resource_type in ('listing', 'service') %}
<i class="fa fa-eye"></i> {{ _('View') }}
{% elif res.resource_type == 'api' %}
<i class="fa fa-key"></i> {{ _('API Endpoint') }}
{% elif (not res.has_views or not res.can_be_previewed) and not res.url_type == 'upload' %}
<i class="fa fa-external-link"></i> {{ _('Go to resource') }}
{% else %}
<i class="fa fa-arrow-circle-o-down"></i> {{ _('Download') }}
{% endif %}
</a>
</li>
{% endif %}
{% endblock %}
</ul>
{% endblock %}
</div>
{% block resource_content %}
{% block resource_read_title %}<h1 class="page-heading">{{ h.resource_display_name(res) | truncate(50) }}</h1>{% endblock %}
{% block resource_read_url %}
{% if res.url and h.is_url(res.url) %}
<p class="muted ellipsis">{{ _('URL:') }} <a class="resource-url-analytics" href="{{ res.url }}" title="{{ res.url }}">{{ res.url }}</a></p>
{% elif res.url %}
<p class="muted break-word">{{ _('URL:') }} {{ res.url }}</p>
{% endif %}
{% endblock %}
<div class="prose notes" property="rdfs:label">
{% if res.description %}
{{ h.render_markdown(res.description) }}
{% endif %}
{% if not res.description and c.package.notes %}
<h3>{{ _('From the dataset abstract') }}</h3>
<blockquote>{{ h.markdown_extract(h.get_translated(c.package, 'notes')) }}</blockquote>
<p>{% trans dataset=c.package.title, url=h.url_for(controller='package', action='read', id=c.package['name']) %}Source: <a href="{{ url }}">{{ dataset }}</a>{% endtrans %}
{% endif %}
</div>
{% endblock %}
</div>
{% block data_preview %}
{% block resource_view %}
{% block resource_view_nav %}
{% set resource_preview = h.resource_preview(c.resource, c.package) %}
{% snippet "package/snippets/resource_views_list.html",
views=resource_views,
pkg=pkg,
is_edit=false,
view_id=current_resource_view['id'],
resource_preview=resource_preview,
resource=c.resource,
extra_class="nav-tabs-plain"
%}
{% endblock %}
<div class="module-content">
{% block resource_view_content %}
<div class="resource-view">
{% set resource_preview = h.resource_preview(c.resource, c.package) %}
{% set views_created = res.has_views or resource_preview %}
{% if views_created %}
{% if resource_preview and not current_resource_view %}
{{ h.resource_preview(c.resource, c.package) }}
{% else %}
{% for resource_view in resource_views %}
{% if resource_view == current_resource_view %}
{% snippet 'package/snippets/resource_view.html',
resource_view=resource_view,
resource=c.resource,
package=c.package
%}
{% endif %}
{% endfor %}
{% endif %}
{% else %}
{# Views not created #}
<div class="module-content data-viewer-info">
<p>{{ _("There are no views created for this resource yet.") }}</p>
{% if h.check_access('resource_view_create', {'resource_id': c.resource.id}) %}
<p class="muted">
<i class="fa fa-info-circle"></i>
{{ _("Not seeing the views you were expecting?")}}
<a href="javascript:void(0);" data-toggle="collapse" data-target="#data-view-info">
{{ _('Click here for more information.') }}</a>
</p>
<div id="data-view-info" class="collapse">
<p>{{ _('Here are some reasons you may not be seeing expected views:') }}</p>
<ul>
<li>{{ _("No view has been created that is suitable for this resource")}}</li>
<li>{{ _("The site administrators may not have enabled the relevant view plugins")}}</li>
<li>{{ _("If a view requires the DataStore, the DataStore plugin may not be enabled, or the data may not have been pushed to the DataStore, or the DataStore hasn't finished processing the data yet")}}</li>
</ul>
</div>
{% endif %}
</div>
{% endif %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endblock %}
{% endblock %}
</section>
{% endblock %}
{% endblock %}
{% block primary_content %}
{% block resource_additional_information %}
{% if res %}
<section class="module">
{% block resource_additional_information_inner %}
<div class="module-content">
<h2>{{ _('Additional Information') }}</h2>
<table class="table table-striped table-bordered table-condensed" data-module="table-toggle-more">
<thead>
<tr>
<th scope="col">{{ _('Field') }}</th>
<th scope="col">{{ _('Value') }}</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">{{ _('Data last updated') }}</th>
<td>{{ h.render_datetime(res.last_modified) or h.render_datetime(res.created) or _('unknown') }}</td>
</tr>
<tr>
<th scope="row">{{ _('Metadata last updated') }}</th>
<td>{{ h.render_datetime(res.revision_timestamp) or h.render_datetime(res.created) or _('unknown') }}</td>
</tr>
<tr>
<th scope="row">{{ _('Created') }}</th>
<td>{{ h.render_datetime(res.created) or _('unknown') }}</td>
</tr>
<tr>
<th scope="row">{{ _('Format') }}</th>
<td>{{ res.mimetype_inner or res.mimetype or res.format or _('unknown') }}</td>
</tr>
<tr>
<th scope="row">{{ _('License') }}</th>
<td>{% snippet "snippets/license.html", pkg_dict=pkg, text_only=True %}</td>
</tr>
{% for key, value in h.format_resource_items(res.items()) %}
<tr class="toggle-more"><th scope="row">{{ key }}</th><td>{{ value }}</td></tr>
{% endfor %}
</tbody>
</table>
</div>
{% endblock %}
</section>
{% endif %}
{% endblock %}
{% endblock %}
{% block secondary_content %}
{% block resources_list %}
{% snippet "package/snippets/resources.html", pkg=pkg, active=res.id %}
{% endblock %}
{% block resource_license %}
{% snippet "snippets/social.html" %}
{% endblock %}
{% endblock %}
...@@ -3,9 +3,10 @@ ...@@ -3,9 +3,10 @@
{% set data = data or {} %} {% set data = data or {} %}
{% set errors = errors or {} %} {% set errors = errors or {} %}
{% set active = data and data.state=='active' %}
{% set action = form_action or h.url_for(controller='package', action='new_resource', id=pkg_name) %} {% set action = form_action or h.url_for(controller='package', action='new_resource', id=pkg_name) %}
<form id="resource-edit" class="dataset-form dataset-resource-form" method="post" action="{{ action }}" data-module="basic-form resource-form" <form id="resource-edit" class="dataset-form dataset-resource-form {%if(active)%}resource-edit-form{%endif%}" method="post" action="{{ action }}" data-module="basic-form resource-form"
enctype="multipart/form-data" novalidate> enctype="multipart/form-data" novalidate>
{% block stages %} {% block stages %}
<div class='search-form'> <div class='search-form'>
...@@ -39,10 +40,6 @@ ...@@ -39,10 +40,6 @@
{% endblock %} {% endblock %}
{% block basic_fields_description %} {% block basic_fields_description %}
{% set error_string = _('odsh_resource_description_error_label') if errors.description %}
{{ form.markdown('description', id='field-description', label=_('Description'),
placeholder=_('Enter description of the dataset'), value=data.description, error=error_string,
is_required=false) }}
{% endblock %} {% endblock %}
{% endblock basic_fields %} {% endblock basic_fields %}
...@@ -73,7 +70,7 @@ ...@@ -73,7 +70,7 @@
{% set format_attrs = {'data-module': 'odsh_guessformat', 'data-module-formats':h.odsh_upload_known_formats()} %} {% set format_attrs = {'data-module': 'odsh_guessformat', 'data-module-formats':h.odsh_upload_known_formats()} %}
{% set error_string = _('odsh_resource_format_error_label') if errors.format %} {% set error_string = _('odsh_resource_format_error_label') if errors.format %}
{% call form.input('format', id='field-format', label=_('Format'), placeholder=_('eg. CSV, XML or JSON'), value=data.format, error=error_string, is_required=true, classes=['control-medium'],attrs=format_attrs) %} {% call form.input('format', id='field-format', label=_('Format'), placeholder=_('eg. CSV, XML or JSON'), value=data.format, error=error_string, is_required=true, classes=['control-full'],attrs=format_attrs) %}
{% endcall %} {% endcall %}
{% endblock %} {% endblock %}
{% endblock %} {% endblock %}
...@@ -82,15 +79,6 @@ ...@@ -82,15 +79,6 @@
<div class="span6"> <div class="span6">
<div class="form-actions resource-buttons"> <div class="form-actions resource-buttons">
{% block delete_button %}
{% if data.id %}
{% if h.check_access('resource_delete', {'id': data.id}) %}
<a class="btn btn-danger pull-left" href="{% url_for controller='package', action='resource_delete', resource_id=data.id, id=pkg_name %}"
data-module="confirm-action" data-module-content="{{ _('Are you sure you want to delete this resource?') }}">{%
block delete_button_text %}{{ _('Delete') }}{% endblock %}</a>
{% endif %}
{% endif %}
{% endblock %}
{% if stage %} {% if stage %}
{% block previous_button %} {% block previous_button %}
<button class="btn btn-arrow-right" name="save" value="go-dataset" type="submit">{{ _('back') }}</button> <button class="btn btn-arrow-right" name="save" value="go-dataset" type="submit">{{ _('back') }}</button>
...@@ -101,6 +89,15 @@ ...@@ -101,6 +89,15 @@
{% endif %} {% endif %}
</div> </div>
<div class="form-actions"> <div class="form-actions">
{% block delete_button %}
{% if data.id %}
{% if h.check_access('resource_delete', {'id': data.id}) %}
<a class="btn btn-danger pull-left" href="{% url_for controller='package', action='resource_delete', resource_id=data.id, id=pkg_name %}"
data-module="confirm-action" data-module-content="{{ _('Are you sure you want to delete this resource?') }}">{%
block delete_button_text %}{{ _('Delete') }}{% endblock %}</a>
{% endif %}
{% endif %}
{% endblock %}
{% if stage %} {% if stage %}
{% block save_button %} {% block save_button %}
<button class="btn btn-primary btn-arrow-right" name="save" value="go-metadata" type="submit">{% block <button class="btn btn-primary btn-arrow-right" name="save" value="go-metadata" type="submit">{% block
......
...@@ -10,12 +10,21 @@ Example: ...@@ -10,12 +10,21 @@ Example:
#} #}
<div class="module context-info"> <div class="module context-info">
<div class="module-content"> <div class="module-content">
<h1 class="heading">{{ h.resource_display_name(res) or res.id }}</h1> <div class="info-detail">
<div class="nums"> <div>{{ _('dataset') }}:</div>
<dl> {{ h.dataset_display_name(pkg) }}
<dt>{{ _('Format') }}</dt> </div>
<dd>{{ h.get_translated(res, 'format') }}</dd> <div class="info-detail">
</dl> <div>{{ _('Name Resource') }}:</div>
{{ res.name }}
</div>
<div class="info-detail">
<div>{{ _('Resource count') }}:</div>
{{ pkg.resources|count}}
</div>
<div class="info-detail">
<div>{{ _('Format') }}:</div>
<div class="label dataformat-label">{{res.format}}</div>
</div> </div>
</div> </div>
</div> </div>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment