From 8eb51529632bde72b4ffd7c56e1ed296f6f75025 Mon Sep 17 00:00:00 2001 From: mb-wali Date: Thu, 8 Jul 2021 15:01:38 +0200 Subject: [PATCH] refactor: views & deposit override separates the views from override deposit --- invenio_theme_tugraz/deposits.py | 27 +++++++++++++++++++++++++-- invenio_theme_tugraz/ext.py | 4 ++-- invenio_theme_tugraz/views.py | 23 ----------------------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/invenio_theme_tugraz/deposits.py b/invenio_theme_tugraz/deposits.py index 6a2d27b..a3971c8 100644 --- a/invenio_theme_tugraz/deposits.py +++ b/invenio_theme_tugraz/deposits.py @@ -13,8 +13,13 @@ from flask import render_template from flask_login import login_required -from invenio_app_rdm.records_ui.utils import set_default_value -from invenio_app_rdm.records_ui.views.decorators import pass_draft, pass_draft_files +from invenio_app_rdm.records_ui.views.decorators import ( + pass_draft, + pass_draft_files, + pass_is_preview, + pass_record_files, + pass_record_or_draft, +) from invenio_app_rdm.records_ui.views.deposits import ( get_form_config, get_search_url, @@ -53,3 +58,21 @@ def deposit_edit(draft=None, draft_files=None, pid_value=None): searchbar_config=dict(searchUrl=get_search_url()), permissions=draft.has_permissions_to(['new_version']) ) + + +@pass_is_preview +@pass_record_or_draft +@pass_record_files +def record_detail(record=None, files=None, pid_value=None, is_preview=False): + """Record detail page (aka landing page).""" + files_dict = None if files is None else files.to_dict() + + return render_template( + "invenio_theme_tugraz/landingpage/detail.html", + record=UIJSONSerializer().serialize_object_to_dict(record.to_dict()), + pid=pid_value, + files=files_dict, + permissions=record.has_permissions_to(['edit', 'new_version', 'manage', + 'update_draft', 'read_files']), + is_preview=is_preview, + ) diff --git a/invenio_theme_tugraz/ext.py b/invenio_theme_tugraz/ext.py index 46cbd83..221146f 100644 --- a/invenio_theme_tugraz/ext.py +++ b/invenio_theme_tugraz/ext.py @@ -9,8 +9,8 @@ """invenio module for TUGRAZ theme.""" from . import config -from .deposits import deposit_create, deposit_edit -from .views import index, record_detail +from .deposits import deposit_create, deposit_edit, record_detail +from .views import index class InvenioThemeTugraz(object): diff --git a/invenio_theme_tugraz/views.py b/invenio_theme_tugraz/views.py index 9b1d8c9..41d64c3 100644 --- a/invenio_theme_tugraz/views.py +++ b/invenio_theme_tugraz/views.py @@ -14,11 +14,6 @@ from typing import Dict from elasticsearch_dsl.utils import AttrDict from flask import Blueprint, render_template -from invenio_app_rdm.records_ui.views.decorators import ( - pass_is_preview, - pass_record_files, - pass_record_or_draft, -) from invenio_rdm_records.resources.serializers import UIJSONSerializer from .search import FrontpageRecordsSearch @@ -75,21 +70,3 @@ def index(): def comingsoon(): """Comingsoon.""" return render_template("invenio_theme_tugraz/comingsoon.html") - - -@pass_is_preview -@pass_record_or_draft -@pass_record_files -def record_detail(record=None, files=None, pid_value=None, is_preview=False): - """Record detail page (aka landing page).""" - files_dict = None if files is None else files.to_dict() - - return render_template( - "invenio_theme_tugraz/landingpage/detail.html", - record=UIJSONSerializer().serialize_object_to_dict(record.to_dict()), - pid=pid_value, - files=files_dict, - permissions=record.has_permissions_to(['edit', 'new_version', 'manage', - 'update_draft', 'read_files']), - is_preview=is_preview, - )