Skip to content

Commit

Permalink
feat: babeltheque
Browse files Browse the repository at this point in the history
Co-Authored-by: Bertrand Zuchuat <[email protected]>
  • Loading branch information
Garfield-fr committed Mar 13, 2024
1 parent aa30131 commit 337971f
Show file tree
Hide file tree
Showing 5 changed files with 205 additions and 5 deletions.
9 changes: 8 additions & 1 deletion rero_ils/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -549,7 +549,8 @@ def _(x):
'https://www.google-analytics.com',
'https://services.test.rero.ch',
'https://services.rero.ch',
'https://cdn.jsdelivr.net'
'https://cdn.jsdelivr.net',
'https://www.babelio.com'
]
},
'content_security_policy_report_uri': None,
Expand Down Expand Up @@ -3984,3 +3985,9 @@ def search_type(field):
}
},
]

# Babeltheque Configuration
# ========================
RERO_ILS_APP_BABELTHEQUE_CONFIG = {
'enabled_views': ['global', 'vs']
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{# -*- coding: utf-8 -*-

RERO ILS
Copyright (C) 2019-2023 RERO
Copyright (C) 2019-2024 RERO
Copyright (C) 2019-2023 UCLouvain

This program is free software: you can redistribute it and/or modify
Expand All @@ -20,9 +20,14 @@
{%- extends 'rero_ils/page.html' %}
{% from 'rero_ils/macros/macro.html' import div, dict_values, div_list, dl, dl_row, dl_dict, dl_list, div_json %}

{% set isbn = record|get_first_isbn %}

{%- block css %}
{{ super() }}
{{ node_assets('@rero/rero-ils-ui/dist/public-holdings-items', ['styles.*css'], 'css') }}
{% if viewcode | babeltheque_enabled_view %}
{{ webpack['babeltheque.css'] }}
{% endif %}
{%- endblock css %}

{%- block body %}
Expand Down Expand Up @@ -277,6 +282,15 @@ <h3>
</a>
{% endif %}
</div>
{% if viewcode | babeltheque_enabled_view and isbn is not undefined %}
<!-- BABELTHEQUE -->
<input id="BW_id_isbn" class="d-none" value="{{ isbn }}"></input>
<div class="d-flex w-100 mx-5 mt-3">
<div class="flex-fill" id="BW_etiquettes">ETIQUETTES</div>
<div class="flex-fill" id="BW_suggestions">SUGGESTIONS</div>
<div class="flex-fill" id="BW_citations">CITATIONS</div>
</div>
{% endif %}
</div>

{%- block record_body %}
Expand All @@ -293,6 +307,15 @@ <h3>
<i class="fa fa-bars"></i> {{ _('Description') }}
</a>
</li>
{% if viewcode | babeltheque_enabled_view %}
<li class="nav-item">
<a class="nav-link" href="#documents-more-infos" data-toggle="tab"
id="documents-more-infos-tab" title="{{ _('More infos') }}" role="tab"
aria-controls="documents-description" aria-selected="false">
<i class="fa fa-bars"></i> {{ _('More infos') }}
</a>
</li>
{% endif %}
</ul>
</nav>
</header>
Expand Down Expand Up @@ -322,6 +345,15 @@ <h3>
<i class="fa fa-bars"></i> {{ _('Description') }}
</a>
</li>
{% if viewcode | babeltheque_enabled_view %}
<li class="nav-item">
<a class="nav-link" href="#documents-more-infos" data-toggle="tab"
id="documents-more-infos-tab" title="{{ _('More infos') }}" role="tab"
aria-controls="documents-more-infos" aria-selected="false">
<i class="fa fa-bars"></i> {{ _('More infos') }}
</a>
</li>
{% endif %}
</ul>
</nav>
</header>
Expand All @@ -344,6 +376,17 @@ <h3>
<section class="tab-pane container" id="documents-description" role="tabpanel" aria-labelledby="documents-description-tab">
{% include('rero_ils/_documents_description.html') %}
</section>
{% if viewcode | babeltheque_enabled_view %}
<section class="tab-pane container" id="documents-more-infos" role="tabpanel" aria-labelledby="documents-more-infos-tab">
<div class="d-flex flex-column my-2">
<div id="BW_prix_litt">LITT</div>
<div id="BW_critiques">CRIT</div>
<div id="BW_bio_auteur">AUTEUR</div>
<div id="BW_videos">VIDEO</div>
<div id="BW_podcasts">PODCAST</div>
</div>
</section>
{% endif %}
</article>
{% endif %}
</article>
Expand Down Expand Up @@ -372,4 +415,7 @@ <h5 class="d-inline-block">{{ _('Export Formats') }}:</h5>
{%- block javascript %}
{{ super() }}
{{ node_assets('@rero/rero-ils-ui/dist/public-holdings-items', tags='defer') }}
{% if viewcode | babeltheque_enabled_view %}
<script type="text/javascript" src="https://www.babelio.com/bw_330.js"></script>
{% endif %}
{% endblock javascript %}
23 changes: 22 additions & 1 deletion rero_ils/modules/documents/views.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
#
# RERO ILS
# Copyright (C) 2019-2023 RERO
# Copyright (C) 2019-2024 RERO
# Copyright (C) 2019-2023 UCLouvain
#
# This program is free software: you can redistribute it and/or modify
Expand All @@ -28,6 +28,7 @@
from flask_babel import gettext as _
from flask_login import current_user
from invenio_records_ui.signals import record_viewed
from jinja2 import Undefined

from rero_ils.modules.collections.api import CollectionsSearch
from rero_ils.modules.entities.api import Entity
Expand Down Expand Up @@ -118,6 +119,26 @@ def doc_item_view_method(pid, record, template=None, **kwargs):
)


@blueprint.app_template_filter()
def babeltheque_enabled_view(view):
"""Check if the view is activated for babeltheque."""
enabled_views = current_app.config.get(
'RERO_ILS_APP_BABELTHEQUE_CONFIG', {}).get('enabled_views', [])
return view in enabled_views


@blueprint.app_template_filter()
def get_first_isbn(record):
"""Get first isbn result."""
# ISBN
isbns = [
identified_by.get('value')
for identified_by in record.get('identifiedBy', [])
if identified_by.get('type') == 'bf:Isbn'
]
return isbns[0] if isbns else Undefined


@blueprint.app_template_filter()
def note_general(notes):
"""Preprocess notes to extract only general type."""
Expand Down
125 changes: 125 additions & 0 deletions rero_ils/theme/assets/scss/rero_ils/babeltheque.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
/*
RERO ILS
Copyright (C) 2019-2024 RERO
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

/* Titre Etiquettes */
#BW_etiquettes h2 {}

#BW_ulEti {
max-width:250px;
}
/* Element liste */
#BW_ulEti ul {
margin:0;
padding:0;
list-style-type: none;
}

/* Différentes tailles selon la fréquence */
#BW_ulEti a.tag_s0 {
font-weight: 120;
font-size: 0.8em;
}
#BW_ulEti a.tag_s1 {
font-weight: 150;
font-size: 0.9em;
}
#BW_ulEti a.tag_s2 {
font-weight: 180;
font-size: 1.0em;
}
#BW_ulEti a.tag_s3 {
font-weight: 200;
font-size: 1.2em;
}
#BW_ulEti a.tag_s4 {
font-weight: 220;
font-size: 1.4em;
}
#BW_ulEti a.tag_s5 {
font-weight: 230;
font-size: 1.5em;
}
#BW_ulEti a.tag_s6 {
font-weight: 320;
font-size: 1.6em;
}
#BW_ulEti a.tag_s7 {
font-weight: 350;
font-size: 1.7em;
}
#BW_ulEti a.tag_s8 {
font-weight: 400;
font-size: 1.8em;
}
#BW_ulEti {
padding: 0px;
line-height: 2em;
text-align: center;
}
#BW_ulEti a {
padding: 2px;
}
#BW_ulEti {
margin: 0px;
}

/* Affichage en nuage. Pour afficher les étiquettes en liste commenter cette ligne.*/
#BW_ulEti ol {
float: left;
display: inline;
}

/* Zone Notes */
#BW_notes {
clear : left;
padding: 5px;
}
/* Titre notes */
#BW_notes h2 {}

/*zone Citations*/
#BW_citations {
padding: 5px;
}
/*titre citations*/
#BW_citations h2 {}


/* Zone Critiques */
#BW_critiques {
padding: 5px;
}
/* Titre critiques */
#BW_critiques h2 {}

/* Zone vidéo */
.BW_vignette_vid {
width: 200px;
}

/* Zone biographie auteur */
#BW_bio_auteur {}

/* Zone biographie autres */
#BW_bio_titre {}

.bio_details {}

/* Zone prix littéraires */
#BW_prix_litt {}
5 changes: 3 additions & 2 deletions rero_ils/theme/webpack.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
#
# RERO ILS
# Copyright (C) 2019-2022 RERO
# Copyright (C) 2019-2024 RERO
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Expand Down Expand Up @@ -30,7 +30,8 @@
'assets',
entry={
'global': './scss/rero_ils/styles.scss',
'reroils_public': './js/reroils/public.js'
'reroils_public': './js/reroils/public.js',
'babeltheque': './scss/rero_ils/babeltheque.scss'
},
dependencies={
'popper.js': '1.16.1',
Expand Down

0 comments on commit 337971f

Please sign in to comment.