refactor: views & deposit override

separates the views from override deposit
This commit is contained in:
mb-wali
2021-07-08 15:01:38 +02:00
committed by Mojib Wali
parent a8a4aab191
commit 8eb5152963
3 changed files with 27 additions and 27 deletions

View File

@@ -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,
)

View File

@@ -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):

View File

@@ -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,
)