diff --git a/cms/README.md b/cms/README.md index 32348a19e3..fd780648b8 100644 --- a/cms/README.md +++ b/cms/README.md @@ -177,11 +177,11 @@ frontmatter directives, then you can also import the template directly at any po This is done by wrapping a template import directive in an HTML `
` tag (to prevent the markdown interpreter from touching it). This is done as follows. Ensure that the import directive is formatted -exactly as specified here. You should just change the path to the template file (`data/sponsors.html`) +exactly as specified here. You should just change the path to the template file (`public/includes/_sponsors.html`) to the appropriate path for the template you wish to include: ``` -
{% include "data/sponsors.html" %}
+
{% include "public/includes/_sponsors.html" %}
``` For example, to import a data template in the middle of some text: @@ -189,7 +189,7 @@ For example, to import a data template in the middle of some text: ``` Here is some introductory text about the following data... -
{% include "data/sponsors.html" %}
+
{% include "public/includes/_sponsors.html" %}
Wasn't that data interesting? ``` diff --git a/cms/assets/img/ambassadors/Adrian.png b/cms/assets/img/ambassadors/Adrian.png deleted file mode 100644 index 7f1f638504..0000000000 Binary files a/cms/assets/img/ambassadors/Adrian.png and /dev/null differ diff --git a/cms/assets/img/ambassadors/Melkamu_Beyene.JPG b/cms/assets/img/ambassadors/Melkamu_Beyene.JPG deleted file mode 100644 index 23de7c912e..0000000000 Binary files a/cms/assets/img/ambassadors/Melkamu_Beyene.JPG and /dev/null differ diff --git a/cms/assets/img/ambassadors/Nizameddin.jpg b/cms/assets/img/ambassadors/Nizameddin.jpg deleted file mode 100644 index 4c499c84b9..0000000000 Binary files a/cms/assets/img/ambassadors/Nizameddin.jpg and /dev/null differ diff --git a/cms/assets/img/ambassadors/Popova-1.jpeg b/cms/assets/img/ambassadors/Popova-1.jpeg deleted file mode 100644 index a64630323a..0000000000 Binary files a/cms/assets/img/ambassadors/Popova-1.jpeg and /dev/null differ diff --git a/cms/assets/img/ambassadors/foto dian ok.jpeg b/cms/assets/img/ambassadors/foto dian ok.jpeg deleted file mode 100644 index 2d1ca22cce..0000000000 Binary files a/cms/assets/img/ambassadors/foto dian ok.jpeg and /dev/null differ diff --git a/cms/assets/img/ambassadors/hea-lim-rhee.jpg b/cms/assets/img/ambassadors/hea-lim-rhee.jpg deleted file mode 100644 index 41fa7f654a..0000000000 Binary files a/cms/assets/img/ambassadors/hea-lim-rhee.jpg and /dev/null differ diff --git a/cms/assets/img/ambassadors/hyun-jung-yi.png b/cms/assets/img/ambassadors/hyun-jung-yi.png deleted file mode 100644 index a475e9d199..0000000000 Binary files a/cms/assets/img/ambassadors/hyun-jung-yi.png and /dev/null differ diff --git a/cms/assets/img/ambassadors/max.png b/cms/assets/img/ambassadors/max.png deleted file mode 100644 index 87f2bf7d3b..0000000000 Binary files a/cms/assets/img/ambassadors/max.png and /dev/null differ diff --git a/cms/assets/img/ambassadors/melkamu.JPG b/cms/assets/img/ambassadors/melkamu.JPG new file mode 100644 index 0000000000..1dc98c0d76 Binary files /dev/null and b/cms/assets/img/ambassadors/melkamu.JPG differ diff --git a/cms/assets/img/ambassadors/shitara.png b/cms/assets/img/ambassadors/shitara.png deleted file mode 100644 index fcc776070a..0000000000 Binary files a/cms/assets/img/ambassadors/shitara.png and /dev/null differ diff --git a/cms/assets/img/ambassadors/sun-huh.jpg b/cms/assets/img/ambassadors/sun-huh.jpg deleted file mode 100644 index 28a713bc2a..0000000000 Binary files a/cms/assets/img/ambassadors/sun-huh.jpg and /dev/null differ diff --git a/cms/assets/img/ambassadors/thomas_mboa.png b/cms/assets/img/ambassadors/thomas_mboa.png deleted file mode 100644 index a31a41d5ad..0000000000 Binary files a/cms/assets/img/ambassadors/thomas_mboa.png and /dev/null differ diff --git a/cms/assets/img/ambassadors/youngim-jung.jpg b/cms/assets/img/ambassadors/youngim-jung.jpg deleted file mode 100644 index e92079f60f..0000000000 Binary files a/cms/assets/img/ambassadors/youngim-jung.jpg and /dev/null differ diff --git a/cms/assets/img/sponsors/TSPlogo.jpg b/cms/assets/img/sponsors/TSPlogo.jpg new file mode 100644 index 0000000000..276f0d53b4 Binary files /dev/null and b/cms/assets/img/sponsors/TSPlogo.jpg differ diff --git a/cms/assets/img/sponsors/pensoftlogo.jpg b/cms/assets/img/sponsors/pensoftlogo.jpg new file mode 100644 index 0000000000..4247ee6279 Binary files /dev/null and b/cms/assets/img/sponsors/pensoftlogo.jpg differ diff --git a/cms/assets/img/sponsors/uj.png b/cms/assets/img/sponsors/uj.png new file mode 100644 index 0000000000..9ee31612c7 Binary files /dev/null and b/cms/assets/img/sponsors/uj.png differ diff --git a/cms/assets/img/team/lene.jpg b/cms/assets/img/team/lene.jpg new file mode 100644 index 0000000000..f95866b74b Binary files /dev/null and b/cms/assets/img/team/lene.jpg differ diff --git a/cms/assets/img/volunteers/Ana Melisa Fernandes.jpg b/cms/assets/img/volunteers/Ana Melisa Fernandes.jpg new file mode 100644 index 0000000000..b08b5e0ee7 Binary files /dev/null and b/cms/assets/img/volunteers/Ana Melisa Fernandes.jpg differ diff --git a/cms/assets/img/volunteers/Ben Catt.jpg b/cms/assets/img/volunteers/Ben Catt.jpg new file mode 100644 index 0000000000..1f7ba89b53 Binary files /dev/null and b/cms/assets/img/volunteers/Ben Catt.jpg differ diff --git a/cms/assets/img/volunteers/Kamila_Kokot.jpg b/cms/assets/img/volunteers/Kamila_Kokot.jpg new file mode 100644 index 0000000000..e34526af2f Binary files /dev/null and b/cms/assets/img/volunteers/Kamila_Kokot.jpg differ diff --git a/cms/data/ambassadors.yml b/cms/data/ambassadors.yml index a14afcc2b4..52c3cdc294 100644 --- a/cms/data/ambassadors.yml +++ b/cms/data/ambassadors.yml @@ -1,47 +1,21 @@ # List of DOAJ ambassadors # ~~Ambassadors:Data~~ -- name: Adrian Stanley - region: North America - bio: "Adrian is past President of the Society for Scholarly Publishing (SSP). He has previously lived and worked in China and is well connected with the global publishing community, especially in places like Brazil (Scielo) and Japan (J-STAGE). He was also Managing Director, Publishers for Digital Science. Adrian serves on the OA Switchboard Client Advisor Group, and is the Chair of the Fully OA Publishers Group (a sub group formed out of OASPA working group), he is currently an Independent Contractor, and advisor for JMIR Publications, DataSeer.ai and Underline.io." - photo: "Adrian.png" - coi: - 2022: https://drive.google.com/file/d/1CC6bqk_JF_kovY6Z-SVhv01epY7dcYWq/view?usp=sharing - name: Amber Osman region: Pakistan - bio: "Amber is a passionate expert in open science and a research enthusiast. Over the last decade, she has been actively involved in different international academic, research & publishing organizations and with the Higher Education Commission (Govt. of Pakistan). She has been an award-winning journal editor for advancing the publishing process by adopting innovative research and publishing solutions. Amber advocates for best practices in open access scholarly content. She has Masters of Philosophy in marketing." + bio: "Amber is a passionate expert in open science and a research enthusiast. Over the last decade, she has been actively involved in different international academic, research & publishing organizations and with the Higher Education Commission (Govt. of Pakistan). She has been an award-winning journal editor for advancing the publishing process by adopting innovative research and publishing solutions. Amber advocates for best practices in open access scholarly content. She has a Masters of Philosophy in marketing." photo: "amber.jpeg" coi: 2022: https://drive.google.com/file/d/18KLtcd-F4q1XbVxh5o54k7feQUY-e-uv/view?usp=sharing -- name: Eriko Amano - region: Japan - bio: "" - photo: "" - coi: - 2022: https://drive.google.com/file/d/1HXvSXTbgK5n5H3a-P_SPTM_IubmaYJzd/view?usp=sharing - - name: Gimena del Rio Riande region: Latin America - bio: "Gimena is a researcher at IIBICRIT, the Institute for Bibliographic Research and Textual Criticism at CONICET, the main agency that fosters science and technology in Argentina. Most of her research projects are related to Open Science and Digital Humanities, with a focus on the Global South. She is also the president of the Asociación Argentina de Humanidades Digitales (AAHD), and a member of the Board of Directors of Force11, OpenMethods-DARIAH, Hypotheses, and Area (Open Education Network in Argentina)." + bio: "Gimena is a researcher at IIBICRIT, the Institute for Bibliographic Research and Textual Criticism at CONICET, the main agency that fosters science and technology in Argentina. Most of her research projects are related to Open Science and Digital Humanities, focusing on the Global South. She is also the president of the Asociación Argentina de Humanidades Digitales (AAHD), and a member of the Board of Directors of Force11, OpenMethods-DARIAH, Hypotheses, and Area (Open Education Network in Argentina)." photo: "del-rio-riande-gimena.jpg" coi: 2022: https://drive.google.com/file/d/1wwxuAH15I4k-mQ3NW03x3W12ExUKJ7f9/view?usp=sharing -- name: Hea Lim Rhee - region: South Korea - bio: "Hea is a senior researcher at Korea Institute of Science and Technology Information (KISTI), and also the managing editor of KISTI’s Journal of Information Science Theory and Practice (JISTaP), the first English journal on computer science in Korea. Hea received her PhD from the University of Pittsburgh and her Master of Science in Information from the University of Michigan, where she specialised in archives and records management." - photo: "hea-lim-rhee.jpg" - coi: - 2022: https://drive.google.com/file/d/1qBL2bfc9y1JufncY5bn1pn4zanD519Q_/view?usp=sharing - -- name: Hyun Jung Yi - region: South Korea - bio: "Hyun Jung Yi holds a PhD in Library and Information Science from Chung-Ang University and is a librarian at Hanyang University Guri Hospital. Currently, she also serves as a member of the Scholarly Committee at the Korean Medical Library Association and as a vice chair of the Committee of Information Management at the Korean Council of Science Editors (KCSE). Her interests include observing trends in the scholarly publishing market, disseminating open access journals, and enhancing the publishing environment for researchers." - photo: "hyun-jung-yi.png" - coi: - - name: Ikhwan Arief region: Indonesia bio: "Ikhwan is a faculty member in the Industrial Engineering Department at Universitas Andalas, Indonesia. He is an enthusiastic photography hobbyist. He joined DOAJ in 2018 as an ambassador and gradually became a volunteer editor. He used to manage the university's library information system, including establishing the online public access catalogue (OPAC) and the repository servers. He is keenly interested in data science, primarily in industrial and manufacturing systems research. He has been assisting Indonesian journal managers in their application to DOAJ." @@ -58,7 +32,7 @@ - name: Ivonne Lujano region: Latin America - bio: "Ivonne Lujano Vilchis is a PhD student in Education Policy and Evaluation at Arizona State University. She holds a Master’s degree in Social Sciences with an emphasis on Education. She has worked in scholarly communication and open access since 2011. As DOAJ ambassador she has collaborated with several universities and government agencies on the adoption of best practice for scholarly publications, and open science policies. She serves as a section editor of Current Issues of Education, a journal produced by doctoral students at Mary Lou Fulton Teachers College of Arizona State University. Her research interests focus on higher education systems, research evaluation, science policy, open access, scholarly communication, and open science. Ivonne also has a background in dance, and she is currently an amateur tango dancer." + bio: "Ivonne Lujano Vilchis is a PhD student in Education Policy and Evaluation at Arizona State University. She holds a Master’s degree in Social Sciences with an emphasis on Education. She has worked in scholarly communication and open access since 2011. As DOAJ ambassador, she has collaborated with several universities and government agencies on the adoption of best practices for scholarly publications and open science policies. She is a section editor of Current Issues of Education, a journal produced by doctoral students at Mary Lou Fulton Teachers College of Arizona State University. Her research interests focus on higher education systems, research evaluation, science policy, open access, scholarly communication, and open science. Ivonne also has a background in dance, and she is currently an amateur tango dancer." photo: "ivonne.jpg" coi: 2022: https://drive.google.com/file/d/1HnGhYbvbzL34guWOmIqcthcwAN8NADX1/view?usp=sharing @@ -69,20 +43,11 @@ photo: "mahmoud-new.jpg" coi: 2022: https://drive.google.com/file/d/10s7B0WeTPqpaafhThv-i8q03uIFaAAue/view?usp=sharing - -- name: Maxim Mitrofanov - region: Russian Federation - bio: "Maxim was born in Moscow, graduated from the University of Foreign Relations and then worked for the Ministry of Foreign Affairs of Russia for nine years. After leaving the Ministry in 2007 he worked for the largest Russian exhibition company, Expocentre, and then joined NEICON in 2014. NEICON is the driving force to share open access ideas among the Russian journal and scholar community." - photo: "max.png" - coi: - 2022: https://drive.google.com/file/d/1Dzb8QzS5V0KzjNnybkWFQpjBwk1Jy8il/view?usp=sharing - name: Melkamu Beyene region: East Africa - bio: "Dr.Melkamu Beyene is Assistant professor in the school of information science. He received his Ph.D in Information Retrieval from Addis Ababa University in a joint program with the Institut national des sciences appliquées de Lyon, France by 2017. He is -serving as a chief librarian of Addis Ababa University Library system and Chairperson of the Consortium of Ethiopian Academic and Research Libraries from March 08, 2018 up -to now." - photo: "Melkamu_Beyene.JPG" + bio: "Dr. Melkamu Beyene is an Assistant Professor in the School of Information Science at Addis Ababa University. He received his PhD in Information Retrieval from Addis Ababa University in a joint program with the Institut National des Sciences Appliquées de Lyon, France, in 2017. He is a Chief Librarian at Addis Ababa University Library system and Chairperson of the Consortium of Ethiopian Academic and Research Libraries from March 08, 2018." + photo: "melkamu.JPG" coi: - name: Muhammad Imtiaz Subhani @@ -92,27 +57,6 @@ to now." coi: 2022: https://drive.google.com/file/d/1nYQZ8h766UsNY_gWwCbRyVQ_yxdCyQN5/view?usp=sharing -- name: Narumi Shitara - region: Japan - bio: "Narumi is the head of the Editorial Office, Center for Southeast Asian Studies (CSEAS), Kyoto University. She has been the managing editor of CSEAS’s academic journals and monograph series since 2011. Her research interest is in bulletin journals published by Japanese universities and research institutes." - photo: "shitara.png" - coi: - 2022: https://drive.google.com/file/d/1f_Od4aor5r9e2idA1gUNnNnPM8naZCcV/view?usp=sharing - -- name: Natalia Popova - region: Russian Federation - bio: "Natalia has been conducting research into academic communication for over 25 years. Currently, her research interests embrace sociology of science and technology, in particular the problems of open access, transformation in the role -of scientific journals in academic communication, and academic publishing under the influence of globalization trends. Natalia is an active member of the International Sociological Association (ISA), Assistant Editor of the journal Changing societies & personalities, editorial board member for Russian and international scientific journals, expert in the evaluation of the quality of scientific journals of the Association of Science Editors and Publishers (ASEP), and Deputy Chair of the Scopus Expert Content Selection and Advisory Board (ESCAB) in the Russian Federation." - photo: "Popova-1.jpeg" - coi: - 2022: https://drive.google.com/file/d/1JHIibZcrJx6wPLXcn62SWS7R_tCRIJdv/view?usp=sharing - -- name: Olga Kirillova - region: Russian Federation - bio: - photo: - coi: - - name: Shuai Yan region: China bio: "Shuai Yan is an independent consultant since 2020. Since November 2021, Shuai has worked with STM as its China Consultant. From 2017 to 2020, he worked with Springer Nature Greater China as director of academic relationships (including government relations). From 2011 to 2017 he was at Tsinghua University Press (TUP) as an associate chief editor and was TUP's director of Journal Publishing. He was also the editor-in-chief of Journal of Tsinghua University (Science and Technology). He has served as the president of Society of China University Journals (CUJS) from 2004 to 2019, the vice president of China Periodicals Association (CPA) from 2012 to 2018, and the vice president of the China Editology Society for Scientific Periodicals (CESSP) from 2015 to 2021." @@ -120,23 +64,9 @@ of scientific journals in academic communication, and academic publishing under coi: 2022: https://drive.google.com/file/d/1Xy9OPuTQZp5AS3wBs0Ittd3t_n4onKCy/view?usp=sharing -- name: Sun Huh - region: South Korea - bio: "Sun is a medical doctor and holds a PhD from Seoul National University in parasitology. He has been a Professor of Parasitology at College of Medicine, Hallym University, Korea since 1988. He has worked voluntarily as a board member of Korean Association of Medical Journal Editors (1996-2011), Korean Council of Science Editors (2011-present), and Council of Asian Science Editors (2014-present). -He has been an editor of Journal of Educational Evaluation for Health Professions since 2005. His goal with DOAJ is to pursue the registration of all open access journals from Korea to DOAJ." - photo: "sun-huh.jpg" - coi: - - name: Vrushali Dandawate region: India bio: "Vrushali is Head Librarian at AISSMS College of Engineering College Pune, Maharashtra, India, and She holds a Ph.D. degree from Reva University Banglore, India. Her research topic is 'OPEN ACCESS E -RESOURCES DEVELOPMENT IN ASIA: A STUDY' Vrushali was the winner of the ALCTS Online Course Grant for Library Professionals from Developing Countries in 2014, and the INASP open access week competition in both 2015 and 2016. She was invited to OpenCon 2017 in Berlin, Germany, and subsequently worked as a member of the organizing committee for OpenCon 2018 in Toronto, Canada. She also served as an advisory committee member for Open Access Week 2018-2019. She is selected as an advisory committee member of OpenDOAR and conference committee member of the FORCE2021 Conference." photo: vrushali.jpg coi: 2022: https://drive.google.com/file/d/18Z2wZ9KMxuD0WD_b3pfxg4QJy9-7lUO6/view?usp=sharing - -- name: Youngim Jung - region: South Korea - bio: "Youngim holds a PhD from Pusan National University in Computer Science and Engineering. She is now a Senior Researcher at Korea Institute of Science and Technology Information, developing and managing scholarly publishing systems for supporting domestic societies. Previously, she worked for KESLI, the national library consortium in South Korea and helped to establish the Korea DOI Center. She is a committee member of the Korean Council of Science Editors (KCSE) and Council of Asian Science Editors (CASE). She has authored publications and communications in the fields of Scientometrics, Library Systems and Natural Language Processing." - photo: "youngim-jung.jpg" - coi: - 2022: https://drive.google.com/file/d/1aXpu85OEFnxEl9YJsOF_QBRkG8brVSz4/view?usp=sharing diff --git a/cms/data/nav.yml b/cms/data/nav.yml index 1330fd564b..5250833b7c 100644 --- a/cms/data/nav.yml +++ b/cms/data/nav.yml @@ -46,6 +46,8 @@ entries: route: doaj.ambassadors # ~~->Ambassadors:WebRoute~~ - label: Advisory Board & Council route: doaj.abc # ~~->AdvisoryBoardCouncil:WebRoute~~ + - label: Editorial Policy Advisory Group + route: doaj.epag # ~~->EditorialPolicyAdvisoryGroup:WebRoute~~ - label: Volunteers route: doaj.volunteers # ~~->Volunteers:WebRoute~~ - label: News @@ -104,7 +106,7 @@ entries: url: '#' modal: id: wechat - include: "includes/_wechat_modal.html" + include: "public/includes/_wechat_modal.html" - label: Atom feed feather: rss route: atom.feed # ~~->Atom:WebRoute~~ diff --git a/cms/data/notifications.yml b/cms/data/notifications.yml index cde76f922b..711d8f5027 100644 --- a/cms/data/notifications.yml +++ b/cms/data/notifications.yml @@ -84,11 +84,11 @@ application:publisher:inprogress:notify: application:publisher:quickreject:notify: long: | - The application which you submitted for **{title}** on {date_applied} has been rejected as the journal does not meet our basic criteria ([{doaj_guide_url}]({doaj_guide_url})). + The application you submitted for **{title}** on {date_applied} has been rejected as the journal does not meet our criteria for inclusion. {note} - You may submit a new application 6 months after the date of this email unless advised otherwise by a member of the DOAJ Editorial Team. Before you apply again, make any necessary changes to ensure your journal adheres to our criteria: ([{doaj_guide_url}]({doaj_guide_url})) + You may submit a new application 6 months after the date of this email. Before you apply again, make the necessary changes to ensure your journal adheres to our criteria: ([{doaj_guide_url}]({doaj_guide_url})) short: Your application ({issns}) was rejected diff --git a/cms/data/sponsors.yml b/cms/data/sponsors.yml index 6d71697ca5..a0128f20d7 100644 --- a/cms/data/sponsors.yml +++ b/cms/data/sponsors.yml @@ -135,7 +135,7 @@ - name: Pensoft Publishers url: https://pensoft.net/media - logo: Pensoft.png + logo: pensoftlogo.jpg - name: PLOS url: https://plos.org/ @@ -164,11 +164,19 @@ - name: Taylor & Francis Group url: https://www.taylorandfrancisgroup.com/ logo: tf.svg + +- name: Tsinghua University Press + url: https://www.tsinghua.edu.cn/en/ + logo: TSPlogo.jpg - name: Ubiquity Press url: https://www.ubiquitypress.com/ logo: ubiquity.svg +- name: University of Johannesburg + url: https://www.uj.ac.za/ + logo: uj.png + - name: John Wiley and Sons LTD url: https://www.wiley.com/en-us logo: Wiley_Wordmark_black.png diff --git a/cms/data/team.yml b/cms/data/team.yml index 5f7758cbc5..b5dd574a51 100644 --- a/cms/data/team.yml +++ b/cms/data/team.yml @@ -31,9 +31,9 @@ 2024: https://drive.google.com/file/d/1Gr7f_V5Of84_OmRr_4vYnJyAyOLMEySA/view?usp=drive_link - name: Dominic Mitchell - role: Operations Manager + role: Deputy Director, Platform Manager photo: dominic.jpg - bio: "Dominic has over 25 years of experience working with the publisher and library communities. He is responsible for operations, and the development of the DOAJ platform. He acts as Committee chair for the Think. Check. Submit. initiative, of which DOAJ is a founding organisation. He represents DOAJ in Project JASPER, a cross-industry project working to ensure that journals are preserved for the long term. He is also Chair of the OASPA Board of Directors. His spare time is divided between looking after his twin sons and his vinyl record collection." + bio: "Dominic has over 25 years of experience working with the publisher and library communities. He is responsible for managing and developing the DOAJ platform in association with DOAJ's technical partners. He acts as Committee chair for the Think. Check. Submit. initiative, of which DOAJ is a founding organisation. He is also Chair of the OASPA Board of Directors. His spare time is divided between looking after his twin sons and his vinyl record collection." coi: 2018: https://drive.google.com/file/d/13XX_GUrw2xRmXARjRrTxegULPT8Redka/view?usp=sharing 2020: https://drive.google.com/file/d/1nxFOuAdXLb8A-LulhNpz9i5vSmr5DBwF/view?usp=sharing @@ -116,7 +116,7 @@ - name: Lars Bjørnshauge role: Advisor and Founder photo: lars.jpg - bio: "Lars worked at Danish university libraries for two decades and was Director of Libraries at Lund University, Sweden from 2001 to 2011. He founded the DOAJ in 2003, and was Managing Director from 2013-2021. He has vast experience in change management, re-engineering academic libraries, and developing information services for research & higher education. For more than two decades, Lars has strongly advocated open access and provided services to the open access movement. He is co-founder of OpenDOAR, the Directory of Open Access Books and Think. Check. Submit. Lars lives outside Copenhagen and is married with four children and four grandchildren. He enjoys vegetable gardening, growing cacti and succulents, and playing internet chess." + bio: "Lars worked at Danish university libraries for two decades and was Director of Libraries at Lund University, Sweden from 2001 to 2011. He founded the DOAJ in 2003, and was Managing Director from 2013-2021. He has vast experience in change management, re-engineering academic libraries, and developing information services for research & higher education. For more than two decades, Lars has strongly advocated open access and provided services to the open access movement. He is co-founder of OpenDOAR, the Directory of Open Access Books and Think. Check. Submit. Lars lives outside Copenhagen and is married with four children and four grandchildren. He enjoys vegetable gardening, growing cacti and succulents, and playing internet chess." coi: 2018: https://drive.google.com/file/d/1mm1a8nbY5MQX9loqIs2ZQuVN-73RfPuN/view?usp=sharing 2021: https://drive.google.com/file/d/1bNj5sqUsu4sRLmm_YOuh3JCSMERzQ1Ro/view?usp=sharing @@ -132,6 +132,13 @@ 2022: https://drive.google.com/file/d/19rw-naMJqHkI5T7aDIDPUkwPutBdDpDm/view?usp=sharing 2024: https://drive.google.com/file/d/1mE86YvfsmGtklIs4I_iwLI9iH5vefg0n/view?usp=drive_link +- name: Lene Rasmussen + role: Operations Manager + photo: lene.jpg + bio: "Lene holds a master’s degree in mathematics and economics and spent 17 years in the financial industry before joining DOAJ. She has extensive leadership experience, including leading strategy and business development processes, managing key strategic projects and driving operational excellence while delivering senior management support and advice. Lene highly prioritizes time with close friends and family and loves to travel the world. Her spare time is spent coaching the local children’s soccer team and taking a run or bike ride in the nearby forest." + coi: + 2024: https://drive.google.com/file/d/1GK8gX_8_yoDWiidDweF9CHVlG0N7a-ot/view?usp=sharing + - name: Mahmoud Khalifa role: Managing Editor and Ambassador photo: mahmoud-new.jpg @@ -175,13 +182,6 @@ 2022: https://drive.google.com/file/d/1soZtiW6gyVJPl7P_J60j2TL2Fqzl0QAs/view?usp=sharing 2024: https://drive.google.com/file/d/1jCz7G1imwy1Z2LB0h05QCxwDYRuHrPzt/view?usp=drive_link -- name: Sophie - role: UX/UI Product Designer - photo: - bio: "Sophie specialises in user experience design and accessibility for open source projects in open access and scholarly communications. She has a Masters in Library and Information science from the University of Montreal and McGill University and did her undergraduate studies in biology and French literature at the University of Ottawa. She also leads design and front-end development at OA.Works, and has worked for the Public Knowledge Project (OJS), SPARC, and Érudit, as well as directly for a number of scholars doing UI design and data visualisation." - coi: - 2022: https://drive.google.com/file/d/19J5ELHNaV_pby7ZpQMii8_Ts4wiERu8K/view?usp=sharing - - name: Zhanna Protasevych role: Finance Administrator photo: zhanna.jpg diff --git a/cms/data/volunteers.yml b/cms/data/volunteers.yml index 17529e2b69..d526786e14 100644 --- a/cms/data/volunteers.yml +++ b/cms/data/volunteers.yml @@ -125,8 +125,16 @@ ass_ed: city: Florence country: Italy language: Italian, English, Spanish - -- name: Amber Osman + +- name: Ana Melisa Fernandes + area: Bird behavior and ecology + year_since: + city: Bogotá + country: Colombia + language: Spanish, English, Portuguese + photo: "Ana Melisa Fernandes.jpg" + +- name: Amber Osman area: Open Science, Publication Ethics, Scholarly communication year_since: city: Karachi @@ -193,7 +201,8 @@ ass_ed: city: York country: United Kingdom language: English - + photo: "Ben Catt.jpg" + - name: Busro Busro area: Humanities year_since: @@ -448,6 +457,14 @@ ass_ed: language: Turkish, English photo: "kamil.jpg" +- name: Kamila Kokot-Kanikuła + area: Library Science + year_since: + city: Gdańsk + country: Poland + language: Polish, English + photo: "Kamila_Kokot.jpg" + - name: Karima Akool Al-Sahili area: Medicine year_since: @@ -455,7 +472,15 @@ ass_ed: country: Iraq language: Arabic, English, Swedish photo: "karima.jpg" - + +- name: Kelly Anne Dumayne + area: Psychology, linguistics, creative writing + year_since: + city: Wales + country: United Kingdom + language: English + photo: + - name: Khoirul Fathoni area: Humanities year_since: @@ -525,13 +550,6 @@ ass_ed: country: Germany language: German, English -- name: Maria Chiara Pievatolo - area: Humanities, Social Sciences - year_since: - city: Pisa - country: Italy - language: Italian, English, German - - name: Maria Manuel Borges area: Social Sciences year_since: @@ -569,6 +587,13 @@ ass_ed: country: Türkiye language: English +- name: Michaela Voigt + area: Library and Information Science, Scandinavian Studies + year_since: + city: Berlin + country: Germany + language: German, English, Swedish + - name: Mihaela Teodor area: Humanities, Social Sciences year_since: diff --git a/cms/pages/about/advisory-board-council.md b/cms/pages/about/advisory-board-council.md index fb1fcb8ec2..46fa12ece0 100644 --- a/cms/pages/about/advisory-board-council.md +++ b/cms/pages/about/advisory-board-council.md @@ -1,6 +1,6 @@ --- layout: no-sidenav -include: /data/advisory-board-council.html +include: /public/includes/_advisory-board-council.html title: Advisory Board & Council section: About toc: true diff --git a/cms/pages/about/ambassadors.md b/cms/pages/about/ambassadors.md index 5ee6f0376c..882596f771 100644 --- a/cms/pages/about/ambassadors.md +++ b/cms/pages/about/ambassadors.md @@ -1,12 +1,17 @@ --- layout: no-sidenav -include: /data/ambassadors.html +include: /public/includes/_ambassadors.html title: Ambassadors section: About toc: true +sticky_sidenav: true highlight: true featuremap: ~~Ambassadors:Fragment->AmbassadorsData:Template~~ --- -DOAJ has 21 active ambassadors, who work with communities around the world. Ambassadors help journal editors understand the importance of standards in open access publishing; they raise DOAJ's profile and help to make the journals a more attractive place to publish research. +DOAJ has 13 active Ambassadors, who work with local communities around the world. Ambassadors work within Low- or Middle-Income Countries (LMIC) to raise DOAJ's profile through local outreach and engagment activities. Ambassadors advocate for good practice in open access and publishing, assist with information around applying to DOAJ, and conduct training and events on behalf of DOAJ. + +In 2024, we reveiwed the Ambassador Programme and have implemented a range of changes. In 2025, our Ambassador Programme will have a pilot year where our focus will be on projects led by Ambassadors, supported by DOAJ. If you are interested in becoming an Ambasador, please look out for calls and information that will be published on [our blog](https://blog.doaj.org/). + +# diff --git a/cms/pages/about/editorial-policy-advisory-group.md b/cms/pages/about/editorial-policy-advisory-group.md new file mode 100644 index 0000000000..3b5f36ab60 --- /dev/null +++ b/cms/pages/about/editorial-policy-advisory-group.md @@ -0,0 +1,69 @@ +--- +layout: sidenav +title: Editorial Policy Advisory Group +section: About +toc: true +sticky_sidenav: true +featuremap: ~~About:Fragment~~ + +--- + +Our Editorial Policy Advisory Board assists the editorial team in matters of publishing policies and practices. Members of the Board are chosen from trusted organisations working in scholarly publishing. + +The Board helps us ensure that DOAJ criteria are effective for the widest range of publishers across the globe. + +## Scope + +To contribute expertise and advice on: + +- Developments in scholarly publishing +- Publishing ethics and questionable practices +- Publishing practices in different subject or geographical areas +- New criteria for inclusion in DOAJ or changes to existing criteria +- Other issues of editorial policy or practice + +## Members + +The Editorial Policy Advisory Group is: + +### Budianto Hamuddin + +Budianto is a senior lecturer in the Faculty of Education and Vocational Studies at [Universitas Lancang Kuning](https://www.unilak.ac.id/), Indonesia, where he also leads the Research Department at LPPM Unilak. An active member of [RJI](https://relawanjurnal.id/), he currently serves as the coordinator for Tim Panji RJI to support and develop scientific journals in Indonesia. Budianto earned his Master's degree from the Universiti Malaya in Malaysia and his Doctorate from Universitas Hasanuddin in Indonesia, specializing in Applied Linguistics with a focus on cyberbullying on online platforms. + +He serves on the editorial boards of several SINTA-accredited journals in Indonesia and is a reviewer for numerous international scientific journals. + +### José Florencio Fabella Lapeña, Jr. + +Joey is a retired Professor of Otolaryngology at U.P. College of Medicine, former Vice Chancellor at the University of the Philippines Manila and Attending Otolaryngologist at the Philippine General Hospital. He has special interests in pediatric cleft and aero-digestive surgery, medical education, mentoring, writing and peer review. He is Secretary of the [World Association of Medical Editors](https://wame.org/), Past President of the Asia-Pacific Association of Medical Journal Editors, and Charter President of the [Philippine Association of Medical Journal Editors](https://www.philippinemedicalassociation.org/). + +He is Editor-in-Chief of the *[Philippine Journal of Otolaryngology Head and Neck Surgery](https://doaj.org/toc/1908-4889)*, and chairs the Philippine National Journal Selection Committee for the Western Pacific Region Index Medicus of the World Health Organization. + +### Jose Octavio Alonso Gamboa + +Octavio is a founding member of [Latindex](https://www.latindex.org/latindex/), an information system comprising 24 countries, of which he has been the general coordinator since 2005. He is a tenured academic at the General Directorate of Libraries of the [National Autonomous University of Mexico](https://www.unaminternacional.unam.mx/) (UNAM) and holds a Master's degree in Library and Information Studies. + +His experience includes topics such as the quality and visibility of scientific journals and the transformation of academic journals to the digital culture. His professional career focuses on regional science communication and open access, reflecting his interest in the promotion of open science and the democratization of knowledge. + +### Kazuki Ide + +Kazuki is a Specially-Appointed Associate Professor at [Osaka University](https://www.osaka-u.ac.jp/). His broad research interests include scholarly communication/publication ethics, public health/health informatics, and ELSI/RRI. He has performed peer reviews over 500 times and received the Top Peer Reviewer Award in 2019 for Cross-Field (Top 1% in the World, Web of Science). + +He led the translation of the following educational materials into Japanese: [Combatting Predatory Academic Journals and Conferences](https://www.interacademies.org/project/predatorypublishing) (IAP, 2023) and [Think.Check.Submit.](https://thinkchecksubmit.org/journals/) (2024). + +### Kylie van Zyl + +Kylie is one of the small, dedicated team at [African Journals Online](https://www.ajol.info/index.php/ajol), a South Africa-based NPO dedicated to quality African-published scholarly journals, where she handles JPPS assessments of new applicant journals. + +She holds an MA and PhD in History from Rhodes University, specialising in the social history of health in South African contexts. + +### Matt Hodgkinson + +Matt is a publishing and research integrity consultant based in Cambridge, UK. He volunteers as the co-chair of the membership subcommittee of the [Committee on Publication Ethics](https://publicationethics.org/) (COPE) and Treasurer of the [European Association of Science Editors](https://ease.org.uk/) (EASE). + +He has worked at three Open Access journal publishers: as a professional scientific editor at both BioMed Central (BMC) and the Public Library of Science (PLOS), then as Head of Research Integrity and Head of Editorial Policy and Ethics at Hindawi. He was also a Research Integrity Manager at the UK Research Integrity Office (UKRIO). + +### Paulin Ribbe + +Paulin holds a Master's degree in digital publishing from [ENSSIB](https://www.enssib.fr/) (French National Library and Information Science School, Lyon, France). He has worked as a project manager for European projects in various research infrastructures in social sciences: Huma-Num, OPERAS (OpenEdition). + +He currently works at [Sciences Po Lyon](https://www.sciencespo-lyon.fr/) as an Open Science Officer and as a project manager for [Mir@bel](https://reseau-mirabel.info/), a website and community aiming to facilitate access to online journals. He participates in various projects, including major French publishing platforms and agencies working together to increase the visibility of French scientific journals. diff --git a/cms/pages/about/team.md b/cms/pages/about/team.md index 68a3200a48..549f1e50ae 100644 --- a/cms/pages/about/team.md +++ b/cms/pages/about/team.md @@ -1,6 +1,6 @@ --- layout: no-sidenav -include: /data/team.html +include: /public/includes/_team.html title: DOAJ team section: About toc: true diff --git a/cms/pages/about/volunteers.md b/cms/pages/about/volunteers.md index b2dd6767c8..e2a040518e 100644 --- a/cms/pages/about/volunteers.md +++ b/cms/pages/about/volunteers.md @@ -4,7 +4,7 @@ title: Volunteers section: About toc: true highlight: true -include: /data/volunteers.html +include: /public/includes/_volunteers.html featuremap: ~~Volunteers:Fragment->VolunteersData:Template~~ --- diff --git a/cms/pages/apply/guide.md b/cms/pages/apply/guide.md index 36fcc9f8a6..dafe5a95a8 100644 --- a/cms/pages/apply/guide.md +++ b/cms/pages/apply/guide.md @@ -93,7 +93,8 @@ The following information must be available online and easily accessible from th - Use of a plagiarism checking service is highly recommended but not required for inclusion in DOAJ. - Endogeny should be minimised. - The proportion of published research papers where at least one of the authors is an editor, editorial board member, or reviewer must not exceed 25% in either of the latest two issues. - + - Where content is not divided into issues, for example in a continuous publication model, endogeny must not exceed 25% in the last calendar year (minimum 5 articles per year). + --- ### Special issues @@ -176,9 +177,15 @@ We cannot provide a status update for applications which are less than three mon ## If your application is rejected -You will receive an email giving the reasons for rejection of the application. Unless otherwise advised by DOAJ staff, you may not submit another application for the same journal until six months after the date of the notification of rejection. +You will receive an email giving the reasons for rejection of the application. Do not submit another application for the same journal until six months after the notification of rejection. + +New applications may only be submitted within six months if these rejection reasons have been resolved: + +- Unconfirmed ISSN +- Website unavailable +- Insufficient content published -If your application was rejected due to an unconfirmed ISSN, we may be able to reopen the application if the ISSN is confirmed within three months of the DOAJ rejection. Email the [DOAJ Helpdesk](mailto:helpdesk@doaj.org). +Where a journal has been rejected for other reasons, a new application may be submitted after six months. You are responsible for providing accurate information when you submit an application. Applications that contain information that is inaccurate or wrong or that have answers missing are automatically rejected. diff --git a/cms/pages/apply/thank-you.md b/cms/pages/apply/thank-you.md index ca18c98fe9..342aa05b61 100644 --- a/cms/pages/apply/thank-you.md +++ b/cms/pages/apply/thank-you.md @@ -2,7 +2,7 @@ layout: no-sidenav title: Thank you for your application. section: Apply -aside: /includes/_aside_in_case_of_rejection.html +aside: /public/includes/_aside_in_case_of_rejection.html featuremap: ~~ApplicationThanks:Fragment->RejectionAside:Template~~ --- diff --git a/cms/pages/apply/transparency.md b/cms/pages/apply/transparency.md index ec05c1d83a..022bb6f9fe 100644 --- a/cms/pages/apply/transparency.md +++ b/cms/pages/apply/transparency.md @@ -196,6 +196,9 @@ OASPA is a trade association that was established in 2008 in order to represent WAME is a global nonprofit voluntary association of editors of peer-reviewed medical journals who seek to foster cooperation and communication among editors; improve editorial standards; promote professionalism in medical editing through education, self-criticism, and self-regulation; and encourage research on the principles and practice of medical editing. WAME develops policies and recommendations of best practices for medical journal editors and has a syllabus for editors that members are encouraged to follow. +## License for this work + +[Principles of transparency and best practice in scholarly publishing](https://doi.org/10.24318/cope.2019.1.12) by COPE, DOAJ, OASPA, WAME is licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/?ref=chooser-v1) ## In other languages diff --git a/cms/pages/docs/openurl.md b/cms/pages/docs/openurl.md index b9f1bda22a..aadd435bba 100644 --- a/cms/pages/docs/openurl.md +++ b/cms/pages/docs/openurl.md @@ -8,24 +8,57 @@ featuremap: ~~OpenURL:Fragment~~ --- -An OpenURL is similar to a web address, but instead of referring to a physical website, it refers to an article, book, patent, or other resource within a website. OpenURLs are similar to permalinks because they are permanently connected to a resource, regardless of which website the resource is connected to. (Retrieved from [Wikipedia](https://en.wikipedia.org/wiki/OpenURL).) +An OpenURL is similar to a web address, but instead of referring to a physical website, it refers to an article, book, patent, or other resource within a website. OpenURLs are similar to permalinks because they are permanently connected to a resource, regardless of which website the resource is located at. (Retrieved from [Wikipedia](https://en.wikipedia.org/wiki/OpenURL).) -The resource is retrieved using [a structured URL format.](https://alair.ala.org/bitstream/handle/11213/258/Open%20URL.pdf?sequence=103) +The resource is retrieved using [a structured URL format.](http://hdl.handle.net/11213/19012) On DOAJ, the parameters included in the request are passed to our search interface, which provides the top result. This means that using OpenURL isn't guaranteed to find your result 100% of the time, even if it exists. +## Parameter mapping + +Here is the mapping between OpenURL parameters and our Elasticsearch database fields. + +### Journal + +| Parameter | DOAJ record field | +|-----------|---------------------------------| +| jtitle | index.title.exact | +| stitle | bibjson.alternative_title.exact | +| issn | index.issn.exact | +| eissn | index.issn.exact | +| isbn | index.title.exact | + +### Article + +| Parameter | DOAJ record field | +|-----------|----------------------------------| +| aulast | bibjson.author.name.exact | +| aucorp | bibjson.author.affiliation.exact | +| atitle | bibjson.title.exact | +| jtitle | bibjson.journal.title.exact | +| date | bibjson.year.exact | +| volume | bibjson.journal.volume.exact | +| issue | bibjson.journal.number.exact | +| spage | bibjson.start_page.exact | +| epage | bibjson.end_page.exact | +| issn | index.issn.exact | +| eissn | index.issn.exact | +| isbn | index.title.exact | +| doi | index.doi.exact | + ## Improving results There are a few things you can try if you keep seeing the _Not Found_ page or getting the wrong result: {:.numbered-table .numbered-table--labels} -| | Troubleshooting tip | Details | -|---|-------------------------------------|-------------------------------------------------------------------------------------------------------| -| | Use a trustworthy field | Identifiers like `issn` are more reliable than free text like `title`. | -| | Make sure each parameter is correct | Ensure there are no typos or strange formatting and that the parameter labels are correct. | -| | Reduce constraints | Remove some parameters, like specific volume and issue because these may not be present in our index. | -| | Use OpenURL 1.0 | This will remove the rewriting step from the process (see below). | +| | Troubleshooting tip | Details | +|---|----------------------------------------------------------|--------------------------------------------------------------------------------------------------| +| | Use a trustworthy field | Identifiers like `issn` are more reliable than free text like `jtitle`. | +| | Make sure each parameter is correct | Ensure there are no typos or strange formatting and that the parameter labels are correct. | +| | Reduce constraints for article searches | Remove some parameters, like 'volume' or 'issue', because these may not be present in our index. | +| | Improve article search accuracy by using `genre=article` | URLs without this parameter will be directed to the journal page. | +| | Use OpenURL 1.0 | This will remove the rewriting step from the process (see below). | ## Supported OpenURL version -DOAJ prefers to receive OpenURL 1.0 requests. However, if the old "0.1" syntax is used, the DOAJ will rewrite it to the new syntax and try again. You will see a redirect to an OpenURL 1.0 URL, then the result. +DOAJ prefers to receive OpenURL 1.0 requests. However, if the old "0.1" syntax is used, the DOAJ will rewrite it to the new syntax and try again. You will see a redirect to an OpenURL 1.0 URL and then the result. diff --git a/cms/pages/legal/accessibility.md b/cms/pages/legal/accessibility.md index a39abaf1e4..0d076ee3cd 100644 --- a/cms/pages/legal/accessibility.md +++ b/cms/pages/legal/accessibility.md @@ -30,8 +30,19 @@ We know some parts of this website may not be fully accessible: - You cannot use the journal or article search function with Javascript disabled. - However, if you are using a device that renders JavaScript, the HTML output will be accessible. - You cannot modify the line height or spacing of the text. -- Some blog posts contain links to older PDF documents which are not fully accessible to screen reader software. -- The [_Supporters_](/support/supporters) page contains an embedded map and a spreadsheet which may not be accessible to screen reader software. + +We have recently fixed: + +- Made sure all navbars are accessible for keyboard-only users +- Radio buttons in the application form are now focusable +- Search facets are configured for screenreaders to indicate their state +- All pages have a "Skip Links" button so the user can jump to the main content +- In search results, the facets are operable with a keyboard + +Fixes that are in progress now after a review of the changes laid out in WCAG 2.2: + +- we're changing the ReCAPTCHA method to a honeypot method +- on our forms, start using aria-describedby for hint/help text We are continuing to update this document as we find accessibility issues or as we fix them. @@ -43,8 +54,6 @@ If you need information on this website in a different format like accessible PD We'll consider your request and reply in 5 working days. Unfortunately, DOAJ doesn't have an organisational telephone number. -If you cannot view the embedded spreadsheet on our [_Supporters_](/support/supporters) page and have a specific question about either, please email us. - ## Reporting accessibility problems with this website We’re always looking to improve the accessibility of this website. If you find any problems not listed on this page or think we're not meeting accessibility requirements, you can submit a [GitHub issue](https://github.com/DOAJ/doaj/issues/new/choose) or email our Helpdesk: [helpdesk@doaj.org](mailto:helpdesk@doaj.org) @@ -61,7 +70,7 @@ DOAJ is committed to making its website accessible in accordance with the Public ### Compliance status -This website is partially compliant with the [Web Content Accessibility Guidelines version 2.1 AA standard](https://www.w3.org/TR/WCAG21/) subject to the non-compliances listed below. +This website is partially compliant with the [Web Content Accessibility Guidelines version 2.2 AA standard](https://www.w3.org/TR/WCAG22/) subject to the non-compliances listed below. ## Non-accessible content @@ -71,25 +80,21 @@ The content listed below is non-accessible for the following reasons. - Some images may not have a text alternative, so people using a screen reader cannot access the information. This fails WCAG 2.1 Success Criterion 1.1.1 (Non-text content). - Some form fields may be missing a label identifying the purpose of its corresponding field. This fails WCAG Success Criterion 1.3.5 (Identify Input Purpose). - -We plan to fix these issues to meet accessibility standards by January 2021. +- We make users solve, recall, or transcribe something to log in. This fails WCAG Success Criterion Success 3.3.8 (Accessible Authentication) +- We use ReCAPTCHA. This fails WCAG Success Criterion Success 3.3.8 (Accessible Authentication) ### Disproportionate burden - Navigation and accessing information: it's not always possible to change the device orientation from horizontal to vertical without making it more difficult to view the content. This fails WCAG Success Criterion 1.3.4 (Orientation). - Navigation and accessing information: there's no way to skip the repeated content in the page header (for example, a 'skip to main content' option). -### Content that’s not within the scope of the accessibility regulations - -- PDFs and other documents: we have PDFs that were published in older blog posts but are not essential to our services (searching the index and applying to the index). The accessibility regulations [do not require us to fix PDFs or other documents published before 23 September 2018](https://www.legislation.gov.uk/uksi/2018/952/regulation/4/made) if they're not essential to providing our services. Any new PDFs or Word documents we publish will meet accessibility standards. - - ### Preparation of this accessibility statement -This statement was prepared on **28 May 2020**. It was last reviewed on **20 December 2021**. +This statement was prepared on **28 May 2020**. It was last reviewed on **06 September 2024** with the WCAG 2.2 accessibility guidelines. -This website was last tested on **24 November 2020**. Testing was carried out by the DOAJ team. +This website was last tested on **24 November 2020**. The DOAJ team carried out testing. -#### Changes to this document +## Changes to this document -- 20 Dec 2021: updated target date to meet accessibility standards to Jan 2021. +- 06 September 2024: added details on things we have fixed; removed references to the PDFs and the blog, which are not covered by this statement; added the last point to the Non-compliance section; updated compliance status +- 20 December 2021: updated target date to meet accessibility standards to Jan 2021. diff --git a/cms/pages/legal/contact.md b/cms/pages/legal/contact.md index 28c976f61a..d4236e3371 100644 --- a/cms/pages/legal/contact.md +++ b/cms/pages/legal/contact.md @@ -7,9 +7,11 @@ featuremap: ~~ContactUs:Fragment~~ --- -Please [contact our Help Desk](mailto:helpdesk@doaj.org) if you want to send us feedback, have questions about our website or services, or have a complaint. +Please don't submit articles to us for publication. You should [use our journal search](/search/journals) to find a journal that matches the area of your research and use the contact details on its website. + +There are online resources that provide answers to frequently asked questions. The [OA Journals Toolkit](https://www.oajournals-toolkit.org/) and [the PLACE discussion forum](https://theplace.discourse.group/) are two examples and DOAJ plays an active role in both. -Please don't submit articles to us for publication. You should [use our journal search](/search/journals) to find a journal that matches the area of your research and contact them directly. +Please [contact our Help Desk](mailto:helpdesk@doaj.org) if you want to send us feedback, have questions about our website or services, or have a complaint. **Potential supporters** @@ -18,8 +20,8 @@ Please don't submit articles to us for publication. You should [use our journal **Providing us with information or updates about journals** - If you want to provide confidential information about a journal we index, [contact our Help Desk](mailto:helpdesk@doaj.org). Please remember to include the journal title and ISSN. -- If you find that the information we hold about a journal is out of date, please use the 'Update this journal' tab on each journal record. -- If you are the publisher of the journal and have a DOAJ account, you can send an update request from the '[My journals](/publisher/journal)' tab on your Publisher dashboard. +- If you find that the information we display about a journal is out of date, please use the 'Rate this page' button at the side of each journal record. +- If you are the publisher of a journal that needs to be updated, use your DOAJ account to submit an update request from the '[My journals](/publisher/journal)' tab on your Publisher dashboard. **Publishers or journal editors** diff --git a/cms/pages/legal/media.md b/cms/pages/legal/media.md index 7ef790b404..c19357b796 100644 --- a/cms/pages/legal/media.md +++ b/cms/pages/legal/media.md @@ -6,23 +6,25 @@ sticky_sidenav: true featuremap: ~~Media:Fragment~~ --- -The Directory of Open Access Journals is the definitive place for anyone in the world to find peer-reviewed, open access journals. It is the only open access directory which is community-driven, not-for-profit and provides all of its main services, online, for free. +The Directory of Open Access Journals is the definitive place for anyone in the world to find peer-reviewed, open-access journals. It is the only open-access directory that is community-driven, not-for-profit, and provides all its reviewing services and metadata for free. On this page, you can find links, information and contacts specifically for journalists. Please contact us with any questions or requests for interviews. - [Meet the team](/about/team/) - [About DOAJ](/about/) -- [News Service](https://blog.doaj.org) +- [Blog](https://blog.doaj.org) - [Logos](https://doaj-kit.netlify.app/building-blocks/logotype/) ## Contact -Louise Stoddard, PR Officer -[louise@doaj.org](mailto:louise@doaj.org?subject=Press Enquiry) +Katrine Sundsbø [katrine@doaj.org](mailto:katrine@doaj.org?subject=Press Enquiry) -## Social media +## Social media and online -- [Twitter](https://twitter.com/doajplus) +- [ X ](https://twitter.com/doajplus) - [Facebook](https://www.facebook.com/DirectoryofOpenAccessJournals/) +- [Instagram](https://www.instagram.com/doajplus/) +- [Bluesky](https://bsky.app/profile/doaj.bsky.social) +- [Mastodon](https://masto.ai/@DOAJ) - [Linkedin](https://www.linkedin.com/company/doaj/) - [Github](https://github.com/DOAJ) diff --git a/cms/pages/legal/terms.md b/cms/pages/legal/terms.md index 1b27b66e99..9df6a74530 100644 --- a/cms/pages/legal/terms.md +++ b/cms/pages/legal/terms.md @@ -25,9 +25,9 @@ DOAJ uses a variety of licenses for the different parts of its website and the c + In the [full data dump of all journal metadata](/docs/public-data-dump/) + As the [list of journals which say they are in DOAJ but are not](https://docs.google.com/spreadsheets/d/1Y_Sza4rPDkf-NNX9kwiErGrKeNTM75md9B63A_gVpaQ/edit?usp=sharing) -3. The *article metadata* provided to us by publishers or that we collect from EuropePMC, which we then process and display, is availble with a [CC0 waiver](https://creativecommons.org/share-your-work/public-domain/cc0/). Collecting, using and reusing part or all of the article-level metadata must be done in accordance with the terms of the CC0 license. The article-level metadata is available: +3. The *article metadata* provided to us by publishers or that we collect from EuropePMC, which we then process and display, is available with a [CC0 waiver](https://creativecommons.org/share-your-work/public-domain/cc0/). Collecting, using and reusing part or all of the article-level metadata must be done under the terms of the CC0 waiver. The article-level metadata is available: - + On individual journal pages in DOAJ, for example: [https://doaj.org/toc/1932-6203](/toc/1932-6203) + + On individual journal pages in DOAJ, for example [https://doaj.org/toc/1932-6203](/toc/1932-6203) + Via our API + In our [OAI-PMH feed](/docs/oai-pmh) + In the [full data dump of all article metadata](/docs/public-data-dump/). @@ -46,13 +46,13 @@ DOAJ uses a variety of licenses for the different parts of its website and the c --- ### Conditions of using this website -8. Use of this website is subject to the following Terms and Conditions. By using this website you agree to be bound by these Terms and Conditions which form a binding contract between you and [Infrastructure Services for Open Access C.I.C.](https://is4oa.org/), the company responsible for providing the DOAJ (Directory of Open Access Journals) service. +8. Use of this website is subject to the following Terms and Conditions. By using this website, you agree to be bound by these Terms and Conditions, which form a binding contract between you and [Infrastructure Services for Open Access C.I.C.](https://is4oa.org/), the company responsible for providing the DOAJ (Directory of Open Access Journals) service. 9. You confirm that you have read and accept [our Privacy policy](/privacy/). 10. IS4OA reserves the right to suspend or terminate your account at any time without notice. Written notice will be provided twenty-four (24) hours in advance. -11. The name 'Directory of Open Access Journals' and the acronym 'DOAJ' are protected as trade names owned by IS4OA. Neither the name, the acronym nor the look and feel of the DOAJ website may be reproduced without the express prior written permission of the [DOAJ Managing Director](mailto:helpdesk@doaj.org). +11. The name 'Directory of Open Access Journals' and the acronym 'DOAJ' are protected as trade names owned by IS4OA. Neither the name, the acronym, nor the look and feel of the DOAJ website may be reproduced without the express prior written permission of the [DOAJ Managing Director](mailto:helpdesk@doaj.org). 12. In no event shall IS4OA, or its employees, ambassadors, volunteers or contractors be liable for any damages of any nature, including without limitation any consequential loss, loss of income or profit, loss of or damage to property, claims of third parties, or any other loss, cost, claim or expense of any kind or character arising out of or in connection with the use of this website, its content or any website with which it is linked. This exclusion and limitation only applies to the extent permitted by law and does not apply to liability for death or personal injury caused by the negligence of IS4OA, its employees, ambassadors, volunteers or contractors. @@ -63,7 +63,7 @@ DOAJ uses a variety of licenses for the different parts of its website and the c --- ### Licensing terms for content published on DOAJ News Service -15. DOAJ News Service is the DOAJ blog, hosted on Wordpress: https://blog.doaj.org +15. DOAJ News Service is the DOAJ blog, hosted on WordPress: https://blog.doaj.org 16. All content posted on the blog is licensed under the CC BY-NC Creative Commons license. See the blog footer for full details. diff --git a/cms/pages/support/publisher-supporters.md b/cms/pages/support/publisher-supporters.md index 5d0cf13f95..3a4e667d73 100644 --- a/cms/pages/support/publisher-supporters.md +++ b/cms/pages/support/publisher-supporters.md @@ -1,6 +1,6 @@ --- layout: sidenav -include: /data/publisher-supporters.html +include: /public/includes/_publisher-supporters.html title: Publisher supporter model section: Support sticky_sidenav: true @@ -10,48 +10,47 @@ featuremap: - ~~->PublisherSupportersData:Template~~ --- -DOAJ relies on the support of publishers and [libraries](/support/) to ensure that its metadata and services remain free for all. The publishers on this page have chosen to show their commitment to quality, peer-reviewed open access by supporting DOAJ. We thank them, as our work would not be possible without them. +We rely on the support of publishers and [libraries](/support/) so we can uphold our commitment to ensuring that our journal reviewing and metadata services remain free for all. The publishers on this page have chosen to show their commitment to quality, peer-reviewed open access by supporting DOAJ. We thank them, as our work would not be possible without them. ## Pricing -We are introducing a revised and simplified model for publishers to support DOAJ for 2024 and publishing this openly in line with [our commitment to the Principles of Open Scholarly Infrastructure](https://blog.doaj.org/2022/10/06/doaj-commits-to-the-principles-of-open-scholarly-infrastructure-posi/). We are also relaunching the set of benefits for publishers choosing to support us. +We always publish our simplified support prices openly, in line with [our commitment to the Principles of Open Scholarly Infrastructure](https://blog.doaj.org/2022/10/06/doaj-commits-to-the-principles-of-open-scholarly-infrastructure-posi/). -We only accept support through our publisher supporter model from publishers with journals already indexed in DOAJ. Non-commercial/institutional rates are only available to community-led, smaller publishers with limited funding. [Contact us](/contact/) if you are unsure which category applies or if you want to discuss ways of further contributing to DOAJ’s operating costs. +We only accept support through our publisher supporter model from publishers with journals already indexed in DOAJ. Non-commercial/institutional rates are only available to community-led, smaller publishers with limited funding. [Contact us](/contact/) if you are unsure which category applies or if you want to discuss ways of further contributing to DOAJ's operating costs. ### Commercial publishers | Band | Number of journals in DOAJ | GBPs (£)* | |------|----------------------------|-----------| -| A | 600+ | 25,000 | -| B | 400-599 | 20,000 | -| C | 150-399 | 17,000 | -| D | 100-149 | 14,000 | -| E | 50-99 | 8000 | -| F | 30-49 | 6000 | -| G | 10-29 | 5000 | -| H | 1-9 | 3500 | +| A | 600+ | 26,000 | +| B | 400-599 | 21,000 | +| C | 150-399 | 18,000 | +| D | 100-149 | 15,000 | +| E | 50-99 | 8500 | +| F | 30-49 | 6400 | +| G | 10-29 | 5200 | +| H | 1-9 | 3700 | ### Non-commercial / institutional publishers | Band | Number of journals in DOAJ | GBPs (£)* | |------|----------------------------|-----------| -| C | 150-399 | 3500 | -| D | 100-149 | 3000 | -| E | 50-99 | 2500 | -| F | 30-49 | 2000 | -| G | 10-29 | 1500 | -| H | 1-9 | 1000 | +| C | 150-399 | 3600 | +| D | 100-149 | 3100 | +| E | 50-99 | 2600 | +| F | 30-49 | 2100 | +| G | 10-29 | 1550 | +| H | 1-9 | 1050 | *A 50% discount is available for supporters in Low- and Middle-Income Countries according to the World Bank classification. ## Benefits 1. Your logo on the DOAJ website -2. A post from all our social media platforms (Twitter, Facebook, LinkedIn, Mastodon, Instagram) acknowledging your organisation as a Supporter -3. A blog post at the start of the year introducing our new supporters -4. A DOAJ Supporter logo that you can use on your website -5. Access to our Public Data Dump -6. For supporters from Bands A-E or those contributing over the suggested amounts, a personal DOAJ contact to whom all enquiries regarding your applications and updates can be directed +2. A blog post during the year thanking all our supporters +3. A DOAJ Supporter logo that you can use on your website +4. Access to our Public Data Dump +5. A personal DOAJ contact to whom all enquiries regarding your applications and updates can be directed ## Sponsorship opportunities @@ -65,4 +64,4 @@ Please [contact us](/contact/) to discuss further. ## Supporting publishers, aggregators, and other organizations -
{% include '/data/sponsors.html' %}
+
{% include 'public/includes/_sponsors.html' %}
diff --git a/deploy/deploy.sh b/deploy/deploy.sh index 44cad4d7a9..70937fd127 100755 --- a/deploy/deploy.sh +++ b/deploy/deploy.sh @@ -55,7 +55,7 @@ if test -f "cms/error_sass.txt"; then exit 1 fi -# Restart all supervisor tasks, will cover the app and kafka, plus huey on the background server. Then reload nginx. +# Restart all supervisor tasks, will cover the app plus huey on the background server. Then reload nginx. sudo supervisorctl update sudo supervisorctl restart all || sudo supervisorctl start all diff --git a/deploy/kafka_2.13-3.1.0/server.properties b/deploy/kafka_2.13-3.1.0/server.properties deleted file mode 100644 index 0ba2bafde5..0000000000 --- a/deploy/kafka_2.13-3.1.0/server.properties +++ /dev/null @@ -1,150 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# see kafka.server.KafkaConfig for additional details and defaults - -############################# Server Basics ############################# - -# The id of the broker. This must be set to a unique integer for each broker. -broker.id=0 - -# Configs to reduce system resource use -default.replication.factor=1 -auto.create.topics.enable=false -queued.max.requests=200 -background.threads=4 - -############################# Socket Server Settings ############################# - -# The address the socket server listens on. It will get the value returned from -# java.net.InetAddress.getCanonicalHostName() if not configured. -# FORMAT: -# listeners = listener_name://host_name:port -# EXAMPLE: -# listeners = PLAINTEXT://your.host.name:9092 -#listeners=PLAINTEXT://:9092 - -# Hostname and port the broker will advertise to producers and consumers. If not set, -# it uses the value for "listeners" if configured. Otherwise, it will use the value -# returned from java.net.InetAddress.getCanonicalHostName(). -#advertised.listeners=PLAINTEXT://your.host.name:9092 - -# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details -#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL - -# The number of threads that the server uses for receiving requests from the network and sending responses to the network -#num.network.threads=3 -num.network.threads=2 - -# The number of threads that the server uses for processing requests, which may include disk I/O -#num.io.threads=8 -num.io.threads=4 - -# The send buffer (SO_SNDBUF) used by the socket server -#socket.send.buffer.bytes=102400 -socket.send.buffer.bytes=51200 - -# The receive buffer (SO_RCVBUF) used by the socket server -#socket.receive.buffer.bytes=102400 -socket.receive.buffer.bytes=51200 - -# The maximum size of a request that the socket server will accept (protection against OOM) -#socket.request.max.bytes=104857600 -socket.request.max.bytes=10485760 - - -############################# Log Basics ############################# - -# A comma separated list of directories under which to store log files -log.dirs=/tmp/kafka-logs - -# The default number of log partitions per topic. More partitions allow greater -# parallelism for consumption, but this will also result in more files across -# the brokers. -#num.partitions=1 -num.partitions=2 - -# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. -# This value is recommended to be increased for installations with data dirs located in RAID array. -num.recovery.threads.per.data.dir=1 - -############################# Internal Topic Settings ############################# -# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" -# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. -offsets.topic.replication.factor=1 -transaction.state.log.replication.factor=1 -transaction.state.log.min.isr=1 - -############################# Log Flush Policy ############################# - -# Messages are immediately written to the filesystem but by default we only fsync() to sync -# the OS cache lazily. The following configurations control the flush of data to disk. -# There are a few important trade-offs here: -# 1. Durability: Unflushed data may be lost if you are not using replication. -# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. -# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. -# The settings below allow one to configure the flush policy to flush data after a period of time or -# every N messages (or both). This can be done globally and overridden on a per-topic basis. - -# The number of messages to accept before forcing a flush of data to disk -##log.flush.interval.messages=10000 -log.flush.interval.messages=1000 - -# The maximum amount of time a message can sit in a log before we force a flush -#log.flush.interval.ms=1000 - -############################# Log Retention Policy ############################# - -# The following configurations control the disposal of log segments. The policy can -# be set to delete segments after a period of time, or after a given size has accumulated. -# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens -# from the end of the log. - -# The minimum age of a log file to be eligible for deletion due to age -#log.retention.hours=168 -log.retention.hours=72 - -# A size-based retention policy for logs. Segments are pruned from the log unless the remaining -# segments drop below log.retention.bytes. Functions independently of log.retention.hours. -#log.retention.bytes=1073741824 - -# The maximum size of a log segment file. When this size is reached a new log segment will be created. -log.segment.bytes=1073741824 - -# The interval at which log segments are checked to see if they can be deleted according -# to the retention policies -log.retention.check.interval.ms=300000 - -############################# Zookeeper ############################# - -# Zookeeper connection string (see zookeeper docs for details). -# This is a comma separated host:port pairs, each corresponding to a zk -# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002". -# You can also append an optional chroot string to the urls to specify the -# root directory for all kafka znodes. -zookeeper.connect=localhost:2181 - -# Timeout in ms for connecting to zookeeper -zookeeper.connection.timeout.ms=18000 - - -############################# Group Coordinator Settings ############################# - -# The following configuration specifies the time, in milliseconds, that the GroupCoordinator will delay the initial consumer rebalance. -# The rebalance will be further delayed by the value of group.initial.rebalance.delay.ms as new members join the group, up to a maximum of max.poll.interval.ms. -# The default value for this is 3 seconds. -# We override this to 0 here as it makes for a better out-of-the-box experience for development and testing. -# However, in production environments the default value of 3 seconds is more suitable as this will help to avoid unnecessary, and potentially expensive, rebalances during application startup. -group.initial.rebalance.delay.ms=0 diff --git a/deploy/nginx/doaj-redirects.map b/deploy/nginx/doaj-redirects.map index 79e4fec819..78b7ecf93c 100644 --- a/deploy/nginx/doaj-redirects.map +++ b/deploy/nginx/doaj-redirects.map @@ -20,7 +20,7 @@ default ""; ~*^/publishermembers/?$ /support/publisher-supporters; ~*^/members/?$ /support/supporters; ~*^/scoss/?$ /support/supporters; -~*^/dismiss_site_note?continue=/news https://blog.doaj.org; -~*^/news https://blog.doaj.org; +~*^/dismiss_site_note?continue=/news$ https://blog.doaj.org; +~*^/news/?$ https://blog.doaj.org; ~*^/admin/suggestions(?.*)/?$ /admin/applications$q; ~*^/admin/suggestion/(?.*)/?$ /admin/application/$id; \ No newline at end of file diff --git a/deploy/supervisor/production/kafka-consumer.conf b/deploy/supervisor/production/kafka-consumer.conf deleted file mode 100644 index 809b2a1d33..0000000000 --- a/deploy/supervisor/production/kafka-consumer.conf +++ /dev/null @@ -1,9 +0,0 @@ -[program:kafka-consumer] -command=/home/cloo/doaj/bin/python -m faust -A portality.events.kafka_consumer worker -l info -environment= DOAJENV=production -user=cloo -directory=/home/cloo/doaj/src/doaj -stdout_logfile=/var/log/supervisor/%(program_name)s-stdout.log -stderr_logfile=/var/log/supervisor/%(program_name)s-error.log -autostart=true -autorestart=true diff --git a/deploy/supervisor/test/kafka-consumer.conf b/deploy/supervisor/test/kafka-consumer.conf deleted file mode 100644 index 78abc65d9c..0000000000 --- a/deploy/supervisor/test/kafka-consumer.conf +++ /dev/null @@ -1,9 +0,0 @@ -[program:kafka-consumer] -command=/home/cloo/doaj/bin/python -m faust -A portality.events.kafka_consumer worker -l info -environment= DOAJENV=test -user=cloo -directory=/home/cloo/doaj/src/doaj -stdout_logfile=/var/log/supervisor/%(program_name)s-stdout.log -stderr_logfile=/var/log/supervisor/%(program_name)s-error.log -autostart=true -autorestart=true diff --git a/deploy/systemd/README.md b/deploy/systemd/README.md deleted file mode 100644 index c930ad11ea..0000000000 --- a/deploy/systemd/README.md +++ /dev/null @@ -1,6 +0,0 @@ -## NOTE - -These systemd should be symlinked to `/etc/systemd/system/`. - -Notice the path to the configs `*.properties` are locally versioned to the kafka -installation directory. \ No newline at end of file diff --git a/deploy/systemd/kafka.service b/deploy/systemd/kafka.service deleted file mode 100644 index 79357e8608..0000000000 --- a/deploy/systemd/kafka.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Requires=zookeeper.service -After=zookeeper.service -Description=High-available, distributed message broker -After=network.target - -[Service] -Type=simple -User=cloo -ExecStart=/bin/sh -c '/home/cloo/kafka_2.13-3.1.0/bin/kafka-server-start.sh /home/cloo/kafka_2.13-3.1.0/config/server.properties' -ExecStop=/home/cloo/kafka_2.13-3.1.0/bin/kafka-server-stop.sh -Restart=on-abnormal - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/deploy/systemd/zookeeper.service b/deploy/systemd/zookeeper.service deleted file mode 100644 index b6de4529a9..0000000000 --- a/deploy/systemd/zookeeper.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Requires=network.target remote-fs.target -After=network.target remote-fs.target - -[Service] -Type=simple -User=cloo -ExecStart=/home/cloo/kafka_2.13-3.1.0/bin/zookeeper-server-start.sh /home/cloo/kafka_2.13-3.1.0/config/zookeeper.properties -ExecStop=/home/cloo/kafka_2.13-3.1.0/bin/zookeeper-server-stop.sh -Restart=on-abnormal - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/doajtest/testdrive/publisher_with_journal.py b/doajtest/testdrive/publisher_with_journal.py index bd4173a822..a03842b505 100644 --- a/doajtest/testdrive/publisher_with_journal.py +++ b/doajtest/testdrive/publisher_with_journal.py @@ -1,6 +1,7 @@ from portality import constants from doajtest.testdrive.factory import TestDrive from doajtest.fixtures.v2.journals import JournalFixtureFactory +from doajtest.fixtures.v2.applications import ApplicationFixtureFactory from portality import models @@ -22,17 +23,32 @@ def setup(self) -> dict: j.bibjson().pissn = "2222-2222" j.save() + source = ApplicationFixtureFactory.make_application_source() + a = models.Application(**source) + a.remove_current_journal() + a.remove_related_journal() + a.application_type = constants.APPLICATION_TYPE_NEW_APPLICATION + a.set_id(a.makeid()) + a.set_owner(acc.id) + a.bibjson().eissn = "3333-3333" + a.bibjson().pissn = "4444-4444" + a.set_application_status(constants.APPLICATION_STATUS_IN_PROGRESS) + a.save() + return { "account": { "username": acc.id, "password": pw, "api_key": acc.api_key }, - "journals": [j.id] + "journals": [j.id], + "applications": [a.id], } def teardown(self, params) -> dict: models.Account.remove_by_id(params["account"]["username"]) for jid in params["journals"]: models.Journal.remove_by_id(jid) + for aid in params["applications"]: + models.Application.remove_by_id(aid) return {"status": "success"} \ No newline at end of file diff --git a/doajtest/unit/application_processors/test_application_processor_emails.py b/doajtest/unit/application_processors/test_application_processor_emails.py index 036c86c68a..cc106942e6 100644 --- a/doajtest/unit/application_processors/test_application_processor_emails.py +++ b/doajtest/unit/application_processors/test_application_processor_emails.py @@ -13,6 +13,7 @@ from portality.forms.application_forms import ApplicationFormFactory, JournalFormFactory from portality.bll import DOAJ from doajtest.mocks.bll_notification import InterceptNotifications +from portality.ui import templates from portality.events.consumers.application_assed_inprogress_notify import ApplicationAssedInprogressNotify @@ -119,7 +120,7 @@ def test_01_public_application_email(self): # We expect one email sent: # * to the applicant, informing them the application was received - public_template = re.escape('notification_email.jinja2') + public_template = re.escape(templates.EMAIL_NOTIFICATION) public_to = re.escape(account.email) public_subject = re.escape("Directory of Open Access Journals - Your application (" + ", ".join(issn for issn in processor.source.bibjson().issns()) + ") to DOAJ has been received") public_email_matched = re.search(email_log_regex % (public_template, public_to, public_subject), @@ -219,7 +220,7 @@ def test_01_maned_review_emails(self): assert notification.action is not None assert notification.classification == constants.NOTIFICATION_CLASSIFICATION_STATUS_CHANGE - editor_template = re.escape('notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape("Application (" + ", ".join(issn for issn in processor.source.bibjson().issns()) + ") reverted to 'In Progress' by Managing Editor\n") editor_email_matched = re.search(email_log_regex % (editor_template, editor_to, editor_subject), @@ -235,7 +236,7 @@ def test_01_maned_review_emails(self): assert notification.action is not None assert notification.classification == constants.NOTIFICATION_CLASSIFICATION_STATUS_CHANGE - assoc_editor_template = re.escape('email/notification_email.jinja2') + assoc_editor_template = re.escape(templates.EMAIL_NOTIFICATION) assoc_editor_to = re.escape('associate@example.com') assoc_editor_subject = re.escape(self.svc.short_notification(ApplicationAssedInprogressNotify.ID).replace("{issns}", ", ".join(issn for issn in processor.source.bibjson().issns())) + "\n")# "an application assigned to you has not passed review." assoc_editor_email_matched = re.search(email_log_regex % (assoc_editor_template, assoc_editor_to, assoc_editor_subject), @@ -287,7 +288,7 @@ def test_01_maned_review_emails(self): assert notification.action is not None assert notification.classification == constants.NOTIFICATION_CLASSIFICATION_STATUS_CHANGE - editor_template = re.escape('email/notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape("Directory of Open Access Journals - Application ({}) reverted to 'In Progress' by Managing Editor".format(', '.join(issn for issn in processor.source.bibjson().issns()))) editor_email_matched = re.search(email_log_regex % (editor_template, editor_to, editor_subject), @@ -303,7 +304,7 @@ def test_01_maned_review_emails(self): assert notification.action is not None assert notification.classification == constants.NOTIFICATION_CLASSIFICATION_STATUS_CHANGE - assoc_editor_template = re.escape('email/notification_email.jinja2') + assoc_editor_template = re.escape(templates.EMAIL_NOTIFICATION) assoc_editor_to = re.escape('associate@example.com') assoc_editor_subject = re.escape(self.svc.short_notification(ApplicationAssedInprogressNotify.ID).replace("{issns}", ", ".join(issn for issn in processor.source.bibjson().issns())) + "\n") # "an application assigned to you has not passed review." assoc_editor_email_matched = re.search( @@ -344,16 +345,16 @@ def test_01_maned_review_emails(self): # We expect 2 emails to be sent: # * to the AssEd who's been assigned, # * and to the publisher informing them there's an editor assigned. - assEd_template = re.escape('email/notification_email.jinja2') + assEd_template = re.escape(templates.EMAIL_NOTIFICATION) assEd_to = re.escape(models.Account.pull('associate_3').email) assEd_subject = re.escape('Directory of Open Access Journals - New application ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') - publisher_template = re.escape('email/notification_email.jinja2') + publisher_template = re.escape(templates.EMAIL_NOTIFICATION) publisher_to = re.escape(owner.email) publisher_subject = re.escape('Directory of Open Access Journals - Your application ({}) has been assigned to an editor for review'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -385,7 +386,7 @@ def test_01_maned_review_emails(self): # We expect 2 emails to be sent: # * to the editor of the assigned group, # * to the AssEd who's been assigned - editor_template = re.escape('email/notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape('Directory of Open Access Journals - New application ({}) assigned to your group'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -394,13 +395,13 @@ def test_01_maned_review_emails(self): re.DOTALL) assert bool(editor_email_matched) - assEd_template = re.escape('email/notification_email.jinja2') + assEd_template = re.escape(templates.EMAIL_NOTIFICATION) assEd_to = re.escape(models.Account.pull('associate_3').email) assEd_subject = re.escape('Directory of Open Access Journals - New application ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') assert len(re.findall(email_count_string, info_stream_contents)) == 2 # Clear the stream for the next part @@ -433,7 +434,7 @@ def test_01_maned_review_emails(self): # We expect one email to be sent here: # * to the ManEd in charge of the assigned Editor Group, saying an application is ready - manEd_template = re.escape('email/notification_email.jinja2') + manEd_template = re.escape(templates.EMAIL_NOTIFICATION) manEd_to = re.escape(acc.email) manEd_subject = re.escape('Directory of Open Access Journals - Application ({}) marked as ready'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -458,7 +459,7 @@ def test_01_maned_review_emails(self): # We expect 1 email to be sent: # * to the publisher, informing them of the journal's acceptance - publisher_template = re.escape('email/notification_email.jinja2') + publisher_template = re.escape(templates.EMAIL_NOTIFICATION) publisher_to = re.escape(owner.email) publisher_subject = re.escape('Directory of Open Access Journals - Your journal ({}) has been accepted'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -509,7 +510,7 @@ def test_02_ed_review_emails(self): # We expect one email to be sent here: # * to the ManEds, saying an application is ready - manEd_template = 'email/notification_email.jinja2' + manEd_template = templates.EMAIL_NOTIFICATION manEd_to = re.escape("maned@example.com") manEd_subject = re.escape('Application ({}) marked as ready'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -544,16 +545,16 @@ def test_02_ed_review_emails(self): # We expect 2 emails to be sent: # * to the AssEd who's been assigned, # * and to the publisher informing them there's an editor assigned. - assEd_template = 'email/notification_email.jinja2' + assEd_template = templates.EMAIL_NOTIFICATION assEd_to = re.escape(models.Account.pull('associate_3').email) assEd_subject = re.escape('New application ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') - publisher_template = 'email/notification_email.jinja2' + publisher_template = templates.EMAIL_NOTIFICATION publisher_to = re.escape(owner.email) publisher_subject = re.escape('Your update request ({}) has been assigned to an editor for review'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -582,14 +583,14 @@ def test_02_ed_review_emails(self): # We expect 1 email to be sent: # * to the AssEd who's been assigned, - assEd_template = 'email/notification_email.jinja2' + assEd_template = templates.EMAIL_NOTIFICATION assEd_to = re.escape(models.Account.pull('associate_2').email) assEd_subject = re.escape('New application ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') assert len(re.findall(email_count_string, info_stream_contents)) == 1 # Clear the stream for the next part @@ -624,7 +625,7 @@ def test_02_ed_review_emails(self): # We expect two email to be sent: # * to the associate editor, informing them the application has been bounced back to in progress. # * to the editor telling them an application has reverted to in progress - assoc_editor_template = re.escape('email/notification_email.jinja2') + assoc_editor_template = re.escape(templates.EMAIL_NOTIFICATION) assoc_editor_to = re.escape('associate@example.com') assoc_editor_subject = re.escape('One of your applications ({}) has not passed review'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assoc_editor_email_matched = re.search( @@ -666,7 +667,7 @@ def test_03_assoc_ed_review_emails(self): # We expect one email to be sent here: # * to the publisher, notifying that an editor is viewing their application - publisher_template = re.escape('email/notification_email.jinja2') + publisher_template = re.escape(templates.EMAIL_NOTIFICATION) publisher_to = re.escape(owner.email) publisher_subject = re.escape('Directory of Open Access Journals - Your submission ({}) is under review'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -687,7 +688,7 @@ def test_03_assoc_ed_review_emails(self): # We expect one email sent: # * to the editor, informing them an application has been completed by an Associate Editor - editor_template = re.escape('notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape('Directory of Open Access Journals - Application ({}) marked as completed'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) editor_email_matched = re.search(email_log_regex % (editor_template, editor_to, editor_subject), @@ -803,7 +804,7 @@ def test_01_maned_review_emails(self): assert notification.action is not None assert notification.classification == constants.NOTIFICATION_CLASSIFICATION_STATUS_CHANGE - editor_template = re.escape('email/notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape("Application ({}) reverted to 'In Progress' by Managing Editor".format(', '.join(issn for issn in processor.source.bibjson().issns()))) editor_email_matched = re.search(email_log_regex % (editor_template, editor_to, editor_subject), @@ -820,7 +821,7 @@ def test_01_maned_review_emails(self): assert notification.action is not None assert notification.classification == constants.NOTIFICATION_CLASSIFICATION_STATUS_CHANGE - assoc_editor_template = re.escape('email/notification_email.jinja2') + assoc_editor_template = re.escape(templates.EMAIL_NOTIFICATION) assoc_editor_to = re.escape('associate@example.com') assoc_editor_subject = re.escape(self.svc.short_notification( ApplicationAssedInprogressNotify.ID).replace("{issns}", ", ".join(issn for issn in processor.target.bibjson().issns())) + "\n") # "an application assigned to you has not passed review." @@ -874,7 +875,7 @@ def test_01_maned_review_emails(self): assert notification.action is not None assert notification.classification == constants.NOTIFICATION_CLASSIFICATION_STATUS_CHANGE - editor_template = re.escape('email/notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape("Application ({}) reverted to 'In Progress' by Managing Editor".format(', '.join(issn for issn in processor.source.bibjson().issns()))) editor_email_matched = re.search(email_log_regex % (editor_template, editor_to, editor_subject), @@ -891,7 +892,7 @@ def test_01_maned_review_emails(self): assert notification.action is not None assert notification.classification == constants.NOTIFICATION_CLASSIFICATION_STATUS_CHANGE - assoc_editor_template = re.escape('email/notification_email.jinja2') + assoc_editor_template = re.escape(templates.EMAIL_NOTIFICATION) assoc_editor_to = re.escape('associate@example.com') assoc_editor_subject = re.escape(self.svc.short_notification( ApplicationAssedInprogressNotify.ID).replace("{issns}", ", ".join(issn for issn in processor.source.bibjson().issns())) + "\n") # "an application assigned to you has not passed review." @@ -927,16 +928,16 @@ def test_01_maned_review_emails(self): # We expect 2 emails to be sent: # * to the AssEd who's been assigned, # * and to the publisher informing them there's an editor assigned. - assEd_template = 'email/notification_email.jinja2' + assEd_template = templates.EMAIL_NOTIFICATION assEd_to = re.escape(models.Account.pull('associate_3').email) assEd_subject = re.escape('New application ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') - publisher_template = 'email/notification_email.jinja2' + publisher_template = templates.EMAIL_NOTIFICATION publisher_to = re.escape(owner.email) publisher_subject = re.escape('Your update request ({}) has been assigned to an editor for review'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -968,7 +969,7 @@ def test_01_maned_review_emails(self): # We expect 2 emails to be sent: # * to the editor of the assigned group, # * to the AssEd who's been assigned - editor_template = re.escape('email/notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape('New application ({}) assigned to your group'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -977,14 +978,14 @@ def test_01_maned_review_emails(self): re.DOTALL) assert bool(editor_email_matched) - assEd_template = 'email/notification_email.jinja2' + assEd_template = templates.EMAIL_NOTIFICATION assEd_to = re.escape(models.Account.pull('associate_3').email) assEd_subject = re.escape('New application ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') assert len(re.findall(email_count_string, info_stream_contents)) == 2 # Clear the stream for the next part @@ -1005,7 +1006,7 @@ def test_01_maned_review_emails(self): # We expect one email to be sent here: # * to the ManEds, saying an application is ready - manEd_template = 'email/notification_email.jinja2' + manEd_template = templates.EMAIL_NOTIFICATION manEd_to = re.escape("maned@example.com") manEd_subject = re.escape('Application ({}) marked as ready'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -1032,7 +1033,7 @@ def test_01_maned_review_emails(self): # We expect 1 email to be sent: # * to the publisher, informing them of the journal's acceptance # * to the journal contact, informing them of the journal's acceptance - publisher_template = 'email/notification_email.jinja2' + publisher_template = templates.EMAIL_NOTIFICATION publisher_to = re.escape(owner.email) publisher_subject = re.escape('Update request ({}) accepted'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -1082,7 +1083,7 @@ def test_02_ed_review_emails(self): # We expect one email to be sent here: # * to the ManEds, saying an application is ready - manEd_template = 'email/notification_email.jinja2' + manEd_template = templates.EMAIL_NOTIFICATION manEd_to = re.escape("maned@example.com") manEd_subject = re.escape('Application ({}) marked as ready'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -1116,16 +1117,16 @@ def test_02_ed_review_emails(self): # We expect 2 emails to be sent: # * to the AssEd who's been assigned, # * and to the publisher informing them there's an editor assigned. - assEd_template = 'email/notification_email.jinja2' + assEd_template = templates.EMAIL_NOTIFICATION assEd_to = re.escape(models.Account.pull('associate_3').email) assEd_subject = re.escape('New application ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') - publisher_template = 'email/notification_email.jinja2' + publisher_template = templates.EMAIL_NOTIFICATION publisher_to = re.escape(owner.email) publisher_subject = re.escape('Your update request ({}) has been assigned to an editor for review'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -1154,14 +1155,14 @@ def test_02_ed_review_emails(self): # We expect 1 email to be sent: # * to the AssEd who's been assigned, - assEd_template = 'email/notification_email.jinja2' + assEd_template = templates.EMAIL_NOTIFICATION assEd_to = re.escape(models.Account.pull('associate_2').email) assEd_subject = re.escape('New application ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') assert len(re.findall(email_count_string, info_stream_contents)) == 1 # Clear the stream for the next part @@ -1195,7 +1196,7 @@ def test_02_ed_review_emails(self): # We expect one email to be sent: # * to the associate editor, informing them the application has been bounced back to in progress. - assoc_editor_template = re.escape('email/notification_email.jinja2') + assoc_editor_template = re.escape(templates.EMAIL_NOTIFICATION) assoc_editor_to = re.escape('associate@example.com') assoc_editor_subject = re.escape('One of your applications ({}) has not passed review'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assoc_editor_email_matched = re.search( @@ -1241,7 +1242,7 @@ def test_03_assoc_ed_review_emails(self): # We expect one email to be sent here: # * to the publisher, notifying that an editor is viewing their application - publisher_template = re.escape('email/notification_email.jinja2') + publisher_template = re.escape(templates.EMAIL_NOTIFICATION) publisher_to = re.escape(owner.email) publisher_subject = re.escape('Your submission ({}) is under review'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -1262,7 +1263,7 @@ def test_03_assoc_ed_review_emails(self): # We expect one email sent: # * to the editor, informing them an application has been completed by an Associate Editor - editor_template = re.escape('email/notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape("Application ({}) marked as completed".format(', '.join(issn for issn in processor.source.bibjson().issns()))) editor_email_matched = re.search(email_log_regex % (editor_template, editor_to, editor_subject), @@ -1330,7 +1331,7 @@ def test_01_maned_review_emails(self): # We expect 2 emails to be sent: # * to the editor of the assigned group, # * to the AssEd who's been assigned, - editor_template = re.escape('email/notification_email.jinja2') + editor_template = re.escape(templates.EMAIL_NOTIFICATION) editor_to = re.escape('eddie@example.com') editor_subject = re.escape('Directory of Open Access Journals - New journal ({}) assigned to your group'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) @@ -1339,14 +1340,14 @@ def test_01_maned_review_emails(self): re.DOTALL) assert bool(editor_email_matched) - assEd_template = re.escape('email/notification_email.jinja2') + assEd_template = re.escape(templates.EMAIL_NOTIFICATION) assEd_to = re.escape(models.Account.pull('associate_3').email) assEd_subject = re.escape('Directory of Open Access Journals - New journal ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') assert len(re.findall(email_count_string, info_stream_contents)) == 2 ctx.pop() @@ -1370,14 +1371,14 @@ def test_02_ed_review_emails(self): # We expect 1 email to be sent: # * to the AssEd who's been assigned - assEd_template = re.escape('email/notification_email.jinja2') + assEd_template = re.escape(templates.EMAIL_NOTIFICATION) assEd_to = re.escape(models.Account.pull('associate_2').email) assEd_subject = re.escape('Directory of Open Access Journals - New journal ({}) assigned to you'.format(', '.join(issn for issn in processor.source.bibjson().issns()))) assEd_email_matched = re.search(email_log_regex % (assEd_template, assEd_to, assEd_subject), info_stream_contents, re.DOTALL) - assert bool(assEd_email_matched) + assert bool(assEd_email_matched), info_stream_contents.strip('\x00') assert len(re.findall(email_count_string, info_stream_contents)) == 1 ctx.pop() diff --git a/doajtest/unit/application_processors/test_readonly_journal.py b/doajtest/unit/application_processors/test_readonly_journal.py index 9e4bc4c42a..3a98d69805 100644 --- a/doajtest/unit/application_processors/test_readonly_journal.py +++ b/doajtest/unit/application_processors/test_readonly_journal.py @@ -39,14 +39,63 @@ def tearDown(self): super(TestReadOnlyJournal, self).tearDown() lcc.lookup_code = self.old_lookup_code - ########################################################### - # Tests on the publisher's re-journal form - ########################################################### - def test_01_readonly_journal_success(self): - """Give the read-only journal form a full workout""" + def test_01_unknown_context(self): + """ Pulling the wrong context gives an exception """ + + with self.assertRaises(AttributeError): + formulaic_context = JournalFormFactory.context("readonly") + fc = formulaic_context.processor(source=models.Journal(**JOURNAL_SOURCE)) + + def test_02_editor_readonly_journal(self): + """ Tests on the editor's read-only journal form """ + + # we start by constructing it from source + formulaic_context = JournalFormFactory.context("editor_readonly") + fc = formulaic_context.processor(source=models.Journal(**JOURNAL_SOURCE)) + assert isinstance(fc, ReadOnlyJournal) + assert fc.form is not None + assert fc.source is not None + assert fc.form_data is None + + # now construct it from form data (with a known source) + journal_obj = models.Journal(**JOURNAL_SOURCE) + journal_bibjson_obj = journal_obj.bibjson() + fc = formulaic_context.processor( + formdata=JOURNAL_FORM, + source=journal_obj + ) + + assert isinstance(fc, ReadOnlyJournal) + assert fc.form is not None + assert fc.source is not None + assert fc.form_data is not None + + # see that form has the correct info from an object (after all, that's the only point of having the form) + assert fc.form.title.data == journal_bibjson_obj.title + assert fc.form.pissn.data == journal_bibjson_obj.pissn + assert fc.form.eissn.data == journal_bibjson_obj.eissn + + # test each of the workflow components individually ... + + # run the validation + assert fc.validate(), fc.form.errors + + # run the crosswalk (no need to look in detail, xwalks are tested elsewhere) + fc.form2target() + assert fc.target is None # can't edit data using this form + + # patch the target with data from the source + fc.patch_target() + assert fc.target is None # can't edit data using this form + + # shouldn't be able to finalise, can't edit data using this form + self.assertRaises(Exception, fc.finalise) + + def test_03_maned_readonly_journal(self): + """ Tests on the managing editor's read-only journal form """ # we start by constructing it from source - formulaic_context = JournalFormFactory.context("readonly") + formulaic_context = JournalFormFactory.context("admin_readonly") fc = formulaic_context.processor(source=models.Journal(**JOURNAL_SOURCE)) assert isinstance(fc, ReadOnlyJournal) assert fc.form is not None diff --git a/doajtest/unit/event_consumers/test_account_created_email.py b/doajtest/unit/event_consumers/test_account_created_email.py index d360eb673e..7e5af568a8 100644 --- a/doajtest/unit/event_consumers/test_account_created_email.py +++ b/doajtest/unit/event_consumers/test_account_created_email.py @@ -8,6 +8,7 @@ from io import StringIO import logging import re +from portality.ui import templates # A regex string for searching the log entries email_log_regex = 'template.*%s.*to:\[u{0,1}\'%s.*subject:.*%s' @@ -65,7 +66,7 @@ def test_consume_success(self): # We expect one email sent: # * to the applicant, informing them the application was received - template = re.escape('account_created.jinja2') + template = re.escape(templates.EMAIL_ACCOUNT_CREATED) to = re.escape(acc.email) subject = "Directory of Open Access Journals - account created, please verify your email address" email_matched = re.search(email_log_regex % (template, to, subject), diff --git a/doajtest/unit/event_consumers/test_account_passwordreset_email.py b/doajtest/unit/event_consumers/test_account_passwordreset_email.py index 43119416cd..a400f7358d 100644 --- a/doajtest/unit/event_consumers/test_account_passwordreset_email.py +++ b/doajtest/unit/event_consumers/test_account_passwordreset_email.py @@ -8,6 +8,7 @@ from io import StringIO import logging import re +from portality.ui import templates # A regex string for searching the log entries email_log_regex = 'template.*%s.*to:\[u{0,1}\'%s.*subject:.*%s' @@ -65,7 +66,7 @@ def test_consume_success(self): # We expect one email sent: # * to the applicant, informing them the application was received - template = re.escape('account_password_reset.jinja2') + template = re.escape(templates.EMAIL_PASSWORD_RESET) to = re.escape(acc.email) subject = "Directory of Open Access Journals - password reset" email_matched = re.search(email_log_regex % (template, to, subject), diff --git a/doajtest/unit/event_consumers/test_journal_assed_assigned_notify.py b/doajtest/unit/event_consumers/test_journal_assed_assigned_notify.py index 2882e51ea7..f24a9c894a 100644 --- a/doajtest/unit/event_consumers/test_journal_assed_assigned_notify.py +++ b/doajtest/unit/event_consumers/test_journal_assed_assigned_notify.py @@ -49,7 +49,7 @@ def test_consume_success(self): assert n.classification == constants.NOTIFICATION_CLASSIFICATION_ASSIGN assert n.long is not None assert n.short is not None - assert n.action is not None + assert n.action is None # view.editor.journal_page has been removed assert not n.is_seen() def test_consume_fail(self): diff --git a/doajtest/unit/event_consumers/test_journal_editor_group_assigned_notify.py b/doajtest/unit/event_consumers/test_journal_editor_group_assigned_notify.py index ed0b46d775..e55d0ea082 100644 --- a/doajtest/unit/event_consumers/test_journal_editor_group_assigned_notify.py +++ b/doajtest/unit/event_consumers/test_journal_editor_group_assigned_notify.py @@ -41,7 +41,7 @@ def test_consume_success(self): eg.set_editor("editor") eg.save(blocking=True) - event = models.Event(constants.EVENT_JOURNAL_EDITOR_GROUP_ASSIGNED, context={"journal" : app.data}) + event = models.Event(constants.EVENT_JOURNAL_EDITOR_GROUP_ASSIGNED, context={"journal": app.data}) JournalEditorGroupAssignedNotify.consume(event) time.sleep(1) @@ -54,7 +54,7 @@ def test_consume_success(self): assert n.classification == constants.NOTIFICATION_CLASSIFICATION_ASSIGN assert n.long is not None assert n.short is not None - assert n.action is not None + assert n.action is None # view.editor.journal_page has been removed assert not n.is_seen() def test_consume_fail(self): diff --git a/doajtest/unit/test_application_forms.py b/doajtest/unit/test_application_forms.py index 94e17ab761..7e0fd9e47e 100644 --- a/doajtest/unit/test_application_forms.py +++ b/doajtest/unit/test_application_forms.py @@ -1,3 +1,7 @@ +""" +NOTE: This test has been disabled due to the removal of the /editor/journal route (see portality.view.editor#51) +""" + import pytest from doajtest import helpers @@ -38,6 +42,7 @@ def test_disable_edit_note_except_editing_user(user_id, expected_result): class TestEditableNote(DoajTestCase): + @pytest.mark.skip(reason="Untestable: we don't have the editor.journal_page route enabled") # FIXME: permanently? def test_note_textarea_disabled_correctly(self): pwd = 'password123' acc = models.Account(**AccountFixtureFactory.make_editor_source()) diff --git a/doajtest/unit/test_article_forms.py b/doajtest/unit/test_article_forms.py new file mode 100644 index 0000000000..378c54a31d --- /dev/null +++ b/doajtest/unit/test_article_forms.py @@ -0,0 +1,31 @@ +from doajtest.fixtures import AccountFixtureFactory, JournalFixtureFactory +from doajtest.helpers import DoajTestCase, save_all_block_last +from portality import models +from portality.forms import article_forms +from portality.forms.article_forms import ArticleFormFactory, PublisherMetadataForm + + +class TestArticleFormsFunction(DoajTestCase): + def test_choices_for_article_issns(self): + account = models.Account(**(AccountFixtureFactory.make_managing_editor_source())) + + journals = [models.Journal(**j) for j in JournalFixtureFactory.make_many_journal_sources()] + for j in journals: + j.set_owner(account.id) + j.set_in_doaj(True) + save_all_block_last(journals) + + pissns = article_forms.choices_for_article_issns(account, issn_type='pissn') + eissns = article_forms.choices_for_article_issns(account, issn_type='eissn') + issns = article_forms.choices_for_article_issns(account, issn_type='all') + + assert pissns != eissns + assert len(issns) + assert set(pissns) | set(eissns) == set(issns) + + def test_empty_article_form(self): + user = models.Account(**AccountFixtureFactory.make_publisher_source()) + form: PublisherMetadataForm = ArticleFormFactory.get_from_context(user=user, role="publisher") + assert form is not None + assert form.source is None + assert form.form_data is None diff --git a/doajtest/unit/test_bll_notifications_notify.py b/doajtest/unit/test_bll_notifications_notify.py index 1720ac6add..15244f6ec1 100644 --- a/doajtest/unit/test_bll_notifications_notify.py +++ b/doajtest/unit/test_bll_notifications_notify.py @@ -5,6 +5,7 @@ from portality import models from portality.bll import DOAJ from portality.ui.messages import Messages +from portality.ui import templates from portality.bll.exceptions import NoSuchObjectException, NoSuchPropertyException # A regex string for searching the log entries @@ -60,7 +61,7 @@ def test_01_notify(self): info_stream_contents = self.info_stream.getvalue() # check an email is sent - template = re.escape('email/notification_email.jinja2') + template = re.escape(templates.EMAIL_NOTIFICATION) to = re.escape('test@example.com') subject = n2.short email_matched = re.search( diff --git a/doajtest/unit/test_models.py b/doajtest/unit/test_models.py index 50acc91830..af07a92859 100644 --- a/doajtest/unit/test_models.py +++ b/doajtest/unit/test_models.py @@ -3,7 +3,7 @@ from doajtest.fixtures import ApplicationFixtureFactory, JournalFixtureFactory, ArticleFixtureFactory, \ BibJSONFixtureFactory, ProvenanceFixtureFactory, BackgroundFixtureFactory, AccountFixtureFactory -from doajtest.helpers import DoajTestCase, patch_history_dir +from doajtest.helpers import DoajTestCase, patch_history_dir, save_all_block_last from portality import constants from portality import models from portality.constants import BgjobOutcomeStatus @@ -945,6 +945,33 @@ def test_15_continuations(self): assert future[0].bibjson().get_one_identifier(bj.E_ISSN) == "2222-2222" assert future[1].bibjson().get_one_identifier(bj.E_ISSN) == "3333-3333" + + def test_journal__recursive_future_continuations(self): + journal_a, journal_b = [models.Journal(**j) for j in + JournalFixtureFactory.make_many_journal_sources(count=2, in_doaj=True)] + + journal_a.bibjson().is_replaced_by = journal_b.bibjson().issns()[0] + journal_b.bibjson().is_replaced_by = journal_a.bibjson().issns()[0] + + save_all_block_last([journal_a, journal_b]) + + assert {j.id for j in journal_a.get_future_continuations()} == {journal_b.id} + + + def test_journal__recursive_pass_continuations(self): + journal_a, journal_b, journal_c = [ + models.Journal(**j) + for j in JournalFixtureFactory.make_many_journal_sources(count=3, in_doaj=True)] + + journal_a.bibjson().replaces = journal_b.bibjson().issns()[0] + journal_b.bibjson().replaces = journal_c.bibjson().issns()[0] + journal_c.bibjson().replaces = journal_a.bibjson().issns()[0] + + save_all_block_last([journal_a, journal_b, journal_c]) + + assert {j.id for j in journal_b.get_past_continuations()} == {journal_a.id, journal_c.id} + + def test_16_article_bibjson(self): source = BibJSONFixtureFactory.article_bibjson() bj = models.ArticleBibJSON(source) diff --git a/doajtest/unit/test_query.py b/doajtest/unit/test_query.py index d1717341c7..4b853c65d9 100644 --- a/doajtest/unit/test_query.py +++ b/doajtest/unit/test_query.py @@ -1,3 +1,6 @@ +import pytest +from elasticsearch import RequestError + from portality import models from doajtest.fixtures import AccountFixtureFactory, ArticleFixtureFactory, EditorGroupFixtureFactory, \ @@ -591,3 +594,14 @@ def test_journal_article_query_notes(self): {'query': 'application test','default_operator': 'AND'}}, 'size': 0, 'track_total_hits': True}, account=None, additional_parameters={"ref":"fqw"}) assert res['hits']['total']["value"] == 0, res['hits']['total']["value"] + + def test_search__invalid_from(self): + acc = models.Account(**AccountFixtureFactory.make_managing_editor_source()) + acc.save(blocking=True) + query = {'query': {'bool': {'must': [{'term': {'es_type.exact': 'journal'}}], + 'filter': [{'term': {'admin.in_doaj': True}}]}}, + 'size': '10', 'from': '@@PQF0l', + 'sort': [{'_score': {'order': 'desc'}}], + 'track_total_hits': 'true'} + with pytest.raises(RequestError): + QueryService().search('admin_query', 'journal', query, account=acc, additional_parameters={}) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 3b6851e212..b459e1ad5e 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -9,32 +9,6 @@ services: volumes: - doaj_redis_data:/data - zookeeper: - image: 'bitnami/zookeeper:latest' - environment: - - ALLOW_ANONYMOUS_LOGIN=yes - - kafka: - image: 'bitnami/kafka:latest' - ports: - - '9092:9092' - environment: - - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 - - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT - - KAFKA_CFG_LISTENERS=CLIENT://:9103,EXTERNAL://:9092,INTERNAL://:19092, - - KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9103,EXTERNAL://localhost:9092,,INTERNAL://kafka:19092 - - KAFKA_INTER_BROKER_LISTENER_NAME=CLIENT - - ALLOW_PLAINTEXT_LISTENER=yes - - KAFKA_AUTO_CREATE_TOPICS_ENABLE=true - - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 - depends_on: - - zookeeper - healthcheck: - test: [ "CMD", "kafka-topics.sh", "--list", "--zookeeper", "zookeeper:2181" ] - interval: 30s - timeout: 10s - retries: 10 - selenium-chrome: image: selenium/standalone-chrome:110.0 logging: diff --git a/docs/redhead/config.json b/docs/redhead/config.json new file mode 100644 index 0000000000..1202c4641a --- /dev/null +++ b/docs/redhead/config.json @@ -0,0 +1,12 @@ +[ + { + "template_dir": "/home/richard/Dropbox/Code/doaj3/portality/templates", + "template_filters": [".*\\.html$", ".*\\.jinja2$", ".*_frag$"], + "out_dir": "/home/richard/Dropbox/Code/doaj3/docs/redhead/templates" + }, + { + "template_dir": "/home/richard/Dropbox/Code/doaj3/portality/templates-v2", + "template_filters": [".*\\.html$", ".*\\.jinja2$", ".*_frag$"], + "out_dir": "/home/richard/Dropbox/Code/doaj3/docs/redhead/templates-v2" + } +] \ No newline at end of file diff --git a/docs/redhead/templates-v2/redhead_blocks.html b/docs/redhead/templates-v2/redhead_blocks.html new file mode 100644 index 0000000000..a3fb516a7c --- /dev/null +++ b/docs/redhead/templates-v2/redhead_blocks.html @@ -0,0 +1,1910 @@ + + + + + Redhead: Jinja2 template structure browser + + + + + + + + + + + +File Inheritance | Block Inheritance | + Records JSON | Tree JSON | Blocks JSON

+ +

Block Inheritance

+ +Expand all | Collapse all + +
    + + +
  • + base_content + + + + + + + + + + + + + +
      + +
    • [+] Blocks +
        + + +
      • + extra_header + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + index.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + management_content + + + + + + + + + + + + + +
          + +
        • [+] Blocks +
            + + +
          • + admin_content + + + + + + + + + + + + + +
              + + +
            • [+] Files +
                + +
              • + + management/ + + admin/ + + base.html +
              • + +
              • + + management/ + + admin/ + + admin_site_search.html +
              • + +
              • + + management/ + + admin/ + + account/ + + users.html +
              • + +
              • + + management/ + + admin/ + + account/ + + create.html +
              • + +
              • + + management/ + + admin/ + + account/ + + edit.html +
              • + +
              +
            • + +
            + +
          • + + + +
          • + editor_content + + + + + + + + + + + + + +
              + + +
            • [+] Files +
                + +
              • + + management/ + + editor/ + + base.html +
              • + +
              • + + management/ + + editor/ + + account/ + + edit.html +
              • + +
              +
            • + +
            + +
          • + + +
          +
        • + + +
        • [+] Files +
            + +
          • + + management/ + + base.html +
          • + +
          • + + management/ + + admin/ + + base.html +
          • + +
          • + + management/ + + editor/ + + base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + nav + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + management/ + + base.html +
          • + +
          • + + management/ + + admin/ + + base.html +
          • + +
          • + + management/ + + editor/ + + base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + page_title + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + management/ + + base.html +
          • + +
          • + + base.html +
          • + +
          • + + public/ + + layouts/ + + static-page.html +
          • + +
          • + + public/ + + account/ + + reset.html +
          • + +
          • + + public/ + + account/ + + login.html +
          • + +
          • + + public/ + + account/ + + register.html +
          • + +
          • + + public/ + + account/ + + login_to_apply.html +
          • + +
          • + + public/ + + account/ + + forgot.html +
          • + +
          • + + public/ + + account/ + + edit.html +
          • + +
          • + + management/ + + admin/ + + admin_site_search.html +
          • + +
          • + + management/ + + admin/ + + account/ + + users.html +
          • + +
          • + + management/ + + admin/ + + account/ + + create.html +
          • + +
          • + + management/ + + admin/ + + account/ + + edit.html +
          • + +
          • + + management/ + + editor/ + + account/ + + edit.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + public_content + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + index.html +
          • + +
          • + + public/ + + layouts/ + + static-page.html +
          • + +
          • + + public/ + + account/ + + reset.html +
          • + +
          • + + public/ + + account/ + + login.html +
          • + +
          • + + public/ + + account/ + + register.html +
          • + +
          • + + public/ + + account/ + + login_to_apply.html +
          • + +
          • + + public/ + + account/ + + forgot.html +
          • + +
          • + + public/ + + account/ + + edit.html +
          • + +
          +
        • + +
        + +
      • + + +
      +
    • + + +
    • [+] Files +
        + +
      • + + base.html +
      • + +
      • + + public/ + + base.html +
      • + +
      • + + management/ + + base.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + base_js + + + + + + + + + + + + + +
      + +
    • [+] Blocks +
        + + +
      • + management_js + + + + + + + + + + + + + +
          + +
        • [+] Blocks +
            + + +
          • + admin_js + + + + + + + + + + + + + +
              + + +
            • [+] Files +
                + +
              • + + management/ + + admin/ + + base.html +
              • + +
              • + + management/ + + admin/ + + account/ + + users.html +
              • + +
              • + + management/ + + admin/ + + account/ + + create.html +
              • + +
              • + + management/ + + admin/ + + account/ + + edit.html +
              • + +
              +
            • + +
            + +
          • + + + +
          • + editor_js + + + + + + + + + + + + + +
              + + +
            • [+] Files +
                + +
              • + + management/ + + editor/ + + base.html +
              • + +
              • + + management/ + + editor/ + + account/ + + edit.html +
              • + +
              +
            • + +
            + +
          • + + +
          +
        • + + +
        • [+] Files +
            + +
          • + + management/ + + base.html +
          • + +
          • + + management/ + + admin/ + + base.html +
          • + +
          • + + management/ + + editor/ + + base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + public_js + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + account/ + + register.html +
          • + +
          • + + public/ + + account/ + + edit.html +
          • + +
          +
        • + +
        + +
      • + + +
      +
    • + + +
    • [+] Files +
        + +
      • + + base.html +
      • + +
      • + + public/ + + base.html +
      • + +
      • + + management/ + + base.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + base_meta + + + + + + + + + + + + + +
      + +
    • [+] Blocks +
        + + +
      • + management_meta + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + management/ + + base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_description + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + layouts/ + + static-page.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_og_description + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + layouts/ + + static-page.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_og_title + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + layouts/ + + static-page.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_twitter_description + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + layouts/ + + static-page.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_twitter_title + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + layouts/ + + static-page.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + public_meta + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          +
        • + +
        + +
      • + + +
      +
    • + + +
    • [+] Files +
        + +
      • + + base.html +
      • + +
      • + + public/ + + base.html +
      • + +
      • + + management/ + + base.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + base_stylesheets + + + + + + + + + + + + + +
      + +
    • [+] Blocks +
        + + +
      • + management_stylesheets + + + + + + + + + + + + + +
          + +
        • [+] Blocks +
            + + +
          • + admin_stylesheets + + + + + + + + + + + + + +
              + + +
            • [+] Files +
                + +
              • + + management/ + + admin/ + + base.html +
              • + +
              • + + management/ + + admin/ + + account/ + + create.html +
              • + +
              +
            • + +
            + +
          • + + + +
          • + editor_stylesheets + + + + + + + + + + + + + +
              + + +
            • [+] Files +
                + +
              • + + management/ + + editor/ + + base.html +
              • + +
              +
            • + +
            + +
          • + + +
          +
        • + + +
        • [+] Files +
            + +
          • + + management/ + + base.html +
          • + +
          • + + management/ + + admin/ + + base.html +
          • + +
          • + + management/ + + editor/ + + base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + public_stylesheets + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + public/ + + base.html +
          • + +
          • + + public/ + + account/ + + register.html +
          • + +
          +
        • + +
        + +
      • + + +
      +
    • + + +
    • [+] Files +
        + +
      • + + base.html +
      • + +
      • + + public/ + + base.html +
      • + +
      • + + management/ + + base.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + body_attrs + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + base.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + body_class + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + base.html +
      • + +
      • + + public/ + + index.html +
      • + +
      • + + management/ + + base.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + body_id + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + base.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + page_title + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + base.html +
      • + +
      • + + public/ + + layouts/ + + static-page.html +
      • + +
      • + + public/ + + account/ + + reset.html +
      • + +
      • + + public/ + + account/ + + login.html +
      • + +
      • + + public/ + + account/ + + register.html +
      • + +
      • + + public/ + + account/ + + login_to_apply.html +
      • + +
      • + + public/ + + account/ + + forgot.html +
      • + +
      • + + public/ + + account/ + + edit.html +
      • + +
      • + + management/ + + base.html +
      • + +
      • + + management/ + + admin/ + + admin_site_search.html +
      • + +
      • + + management/ + + admin/ + + account/ + + users.html +
      • + +
      • + + management/ + + admin/ + + account/ + + create.html +
      • + +
      • + + management/ + + admin/ + + account/ + + edit.html +
      • + +
      • + + management/ + + editor/ + + account/ + + edit.html +
      • + +
      +
    • + +
    + +
  • + + +
+ + + + + + + \ No newline at end of file diff --git a/docs/redhead/templates-v2/redhead_blocks.json b/docs/redhead/templates-v2/redhead_blocks.json new file mode 100644 index 0000000000..305d1e39ff --- /dev/null +++ b/docs/redhead/templates-v2/redhead_blocks.json @@ -0,0 +1,290 @@ +[ + { + "name": "base_content", + "blocks": [ + { + "name": "extra_header", + "blocks": [], + "files": [ + "public/base.html", + "public/index.html" + ] + }, + { + "name": "management_content", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "files": [ + "management/admin/base.html", + "management/admin/admin_site_search.html", + "management/admin/account/users.html", + "management/admin/account/create.html", + "management/admin/account/edit.html" + ] + }, + { + "name": "editor_content", + "blocks": [], + "files": [ + "management/editor/base.html", + "management/editor/account/edit.html" + ] + } + ], + "files": [ + "management/base.html", + "management/admin/base.html", + "management/editor/base.html" + ] + }, + { + "name": "nav", + "blocks": [], + "files": [ + "management/base.html", + "management/admin/base.html", + "management/editor/base.html" + ] + }, + { + "name": "page_title", + "blocks": [], + "files": [ + "management/base.html", + "base.html", + "public/layouts/static-page.html", + "public/account/reset.html", + "public/account/login.html", + "public/account/register.html", + "public/account/login_to_apply.html", + "public/account/forgot.html", + "public/account/edit.html", + "management/admin/admin_site_search.html", + "management/admin/account/users.html", + "management/admin/account/create.html", + "management/admin/account/edit.html", + "management/editor/account/edit.html" + ] + }, + { + "name": "public_content", + "blocks": [], + "files": [ + "public/base.html", + "public/index.html", + "public/layouts/static-page.html", + "public/account/reset.html", + "public/account/login.html", + "public/account/register.html", + "public/account/login_to_apply.html", + "public/account/forgot.html", + "public/account/edit.html" + ] + } + ], + "files": [ + "base.html", + "public/base.html", + "management/base.html" + ] + }, + { + "name": "base_js", + "blocks": [ + { + "name": "management_js", + "blocks": [ + { + "name": "admin_js", + "blocks": [], + "files": [ + "management/admin/base.html", + "management/admin/account/users.html", + "management/admin/account/create.html", + "management/admin/account/edit.html" + ] + }, + { + "name": "editor_js", + "blocks": [], + "files": [ + "management/editor/base.html", + "management/editor/account/edit.html" + ] + } + ], + "files": [ + "management/base.html", + "management/admin/base.html", + "management/editor/base.html" + ] + }, + { + "name": "public_js", + "blocks": [], + "files": [ + "public/base.html", + "public/account/register.html", + "public/account/edit.html" + ] + } + ], + "files": [ + "base.html", + "public/base.html", + "management/base.html" + ] + }, + { + "name": "base_meta", + "blocks": [ + { + "name": "management_meta", + "blocks": [], + "files": [ + "management/base.html" + ] + }, + { + "name": "meta_description", + "blocks": [], + "files": [ + "public/base.html", + "public/layouts/static-page.html" + ] + }, + { + "name": "meta_og_description", + "blocks": [], + "files": [ + "public/base.html", + "public/layouts/static-page.html" + ] + }, + { + "name": "meta_og_title", + "blocks": [], + "files": [ + "public/base.html", + "public/layouts/static-page.html" + ] + }, + { + "name": "meta_twitter_description", + "blocks": [], + "files": [ + "public/base.html", + "public/layouts/static-page.html" + ] + }, + { + "name": "meta_twitter_title", + "blocks": [], + "files": [ + "public/base.html", + "public/layouts/static-page.html" + ] + }, + { + "name": "public_meta", + "blocks": [], + "files": [ + "public/base.html" + ] + } + ], + "files": [ + "base.html", + "public/base.html", + "management/base.html" + ] + }, + { + "name": "base_stylesheets", + "blocks": [ + { + "name": "management_stylesheets", + "blocks": [ + { + "name": "admin_stylesheets", + "blocks": [], + "files": [ + "management/admin/base.html", + "management/admin/account/create.html" + ] + }, + { + "name": "editor_stylesheets", + "blocks": [], + "files": [ + "management/editor/base.html" + ] + } + ], + "files": [ + "management/base.html", + "management/admin/base.html", + "management/editor/base.html" + ] + }, + { + "name": "public_stylesheets", + "blocks": [], + "files": [ + "public/base.html", + "public/account/register.html" + ] + } + ], + "files": [ + "base.html", + "public/base.html", + "management/base.html" + ] + }, + { + "name": "body_attrs", + "blocks": [], + "files": [ + "base.html" + ] + }, + { + "name": "body_class", + "blocks": [], + "files": [ + "base.html", + "public/index.html", + "management/base.html" + ] + }, + { + "name": "body_id", + "blocks": [], + "files": [ + "base.html" + ] + }, + { + "name": "page_title", + "blocks": [], + "files": [ + "base.html", + "public/layouts/static-page.html", + "public/account/reset.html", + "public/account/login.html", + "public/account/register.html", + "public/account/login_to_apply.html", + "public/account/forgot.html", + "public/account/edit.html", + "management/base.html", + "management/admin/admin_site_search.html", + "management/admin/account/users.html", + "management/admin/account/create.html", + "management/admin/account/edit.html", + "management/editor/account/edit.html" + ] + } +] \ No newline at end of file diff --git a/docs/redhead/templates-v2/redhead_records.json b/docs/redhead/templates-v2/redhead_records.json new file mode 100644 index 0000000000..dec4932e1e --- /dev/null +++ b/docs/redhead/templates-v2/redhead_records.json @@ -0,0 +1,1142 @@ +[ + { + "type": "template", + "file": "base.html", + "blocks": [ + "page_title", + "base_meta", + "base_stylesheets", + "body_class", + "body_id", + "body_attrs", + "base_content", + "base_js" + ], + "includes": [ + "doaj/cookie_consent.html", + "_js_includes.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "base_meta", + "file": "base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_stylesheets", + "file": "base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "body_class", + "file": "base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "body_id", + "file": "base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "body_attrs", + "file": "base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_content", + "file": "base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_js", + "file": "base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "public/base.html", + "blocks": [ + "base_meta", + "base_stylesheets", + "base_content", + "base_js" + ], + "extends": [ + "base.html" + ] + }, + { + "type": "block", + "name": "base_meta", + "file": "public/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "meta_description", + "meta_og_title", + "meta_og_description", + "meta_twitter_title", + "meta_twitter_description", + "public_meta" + ] + }, + { + "type": "block", + "name": "meta_description", + "file": "public/base.html", + "parent_block": "base_meta", + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_title", + "file": "public/base.html", + "parent_block": "base_meta", + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_description", + "file": "public/base.html", + "parent_block": "base_meta", + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_title", + "file": "public/base.html", + "parent_block": "base_meta", + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_description", + "file": "public/base.html", + "parent_block": "base_meta", + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_meta", + "file": "public/base.html", + "parent_block": "base_meta", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_stylesheets", + "file": "public/base.html", + "parent_block": null, + "content": false, + "scoped": false, + "blocks": [ + "public_stylesheets" + ] + }, + { + "type": "block", + "name": "public_stylesheets", + "file": "public/base.html", + "parent_block": "base_stylesheets", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_content", + "file": "public/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "extra_header", + "public_content" + ], + "includes": [ + "includes/header.html", + "includes/_flash_notification.html", + "includes/_quick_search_modal.html", + "includes/footer.html" + ], + "dynamic_includes": [ + "config.get(\"SITE_NOTE_TEMPLATE\")" + ] + }, + { + "type": "block", + "name": "extra_header", + "file": "public/base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_js", + "file": "public/base.html", + "parent_block": null, + "content": false, + "scoped": false, + "blocks": [ + "public_js" + ] + }, + { + "type": "block", + "name": "public_js", + "file": "public/base.html", + "parent_block": "base_js", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "public/index.html", + "blocks": [ + "body_class", + "extra_header", + "public_content" + ], + "extends": [ + "public/base.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "public/index.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_header", + "file": "public/index.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/index.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "public/layouts/_static-page_no-sidenav.html", + "dynamic_includes": [ + "page.frag", + "page.aside", + "page.include" + ] + }, + { + "type": "template", + "file": "public/layouts/_static-page_sidenav.html", + "dynamic_includes": [ + "page.preface", + "page.frag", + "page.include", + "page.sidenav_include" + ], + "includes": [ + "includes/_sidenav_toc.html" + ] + }, + { + "type": "template", + "file": "public/layouts/static-page.html", + "blocks": [ + "page_title", + "meta_og_title", + "meta_twitter_title", + "meta_description", + "meta_og_description", + "meta_twitter_description", + "public_content" + ], + "extends": [ + "public/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "public/layouts/static-page.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_title", + "file": "public/layouts/static-page.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_title", + "file": "public/layouts/static-page.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_description", + "file": "public/layouts/static-page.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_description", + "file": "public/layouts/static-page.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_description", + "file": "public/layouts/static-page.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/layouts/static-page.html", + "parent_block": null, + "content": true, + "scoped": false, + "dynamic_includes": [ + "inc", + "page.frag" + ] + }, + { + "type": "template", + "file": "public/account/reset.html", + "blocks": [ + "page_title", + "public_content" + ], + "extends": [ + "public/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "public/account/reset.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/account/reset.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_reset_form.html" + ] + }, + { + "type": "template", + "file": "public/account/login.html", + "blocks": [ + "page_title", + "public_content" + ], + "extends": [ + "public/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "public/account/login.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/account/login.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_login_form.html" + ] + }, + { + "type": "template", + "file": "public/account/register.html", + "blocks": [ + "page_title", + "public_stylesheets", + "public_content", + "public_js" + ], + "extends": [ + "public/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "public/account/register.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_stylesheets", + "file": "public/account/register.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/account/register.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_register_form.html" + ] + }, + { + "type": "block", + "name": "public_js", + "file": "public/account/register.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "public/account/login_to_apply.html", + "blocks": [ + "page_title", + "public_content" + ], + "extends": [ + "public/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "public/account/login_to_apply.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/account/login_to_apply.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_login_form.html" + ] + }, + { + "type": "template", + "file": "public/account/forgot.html", + "blocks": [ + "page_title", + "public_content" + ], + "extends": [ + "public/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "public/account/forgot.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/account/forgot.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "public/account/edit.html", + "blocks": [ + "page_title", + "public_content", + "public_js" + ], + "extends": [ + "public/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "public/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "public_content", + "file": "public/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_edit_user_form.html", + "_account/includes/_marketing-consent.html", + "_account/includes/_api-access.html" + ] + }, + { + "type": "block", + "name": "public_js", + "file": "public/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_edit_form_js.html" + ] + }, + { + "type": "template", + "file": "_account/includes/_edit_form_js.html" + }, + { + "type": "template", + "file": "_account/includes/_register_form.html" + }, + { + "type": "template", + "file": "_account/includes/_login_form.html" + }, + { + "type": "template", + "file": "_account/includes/_edit_user_form.html" + }, + { + "type": "template", + "file": "_account/includes/_api-access.html" + }, + { + "type": "template", + "file": "_account/includes/_marketing-consent.html" + }, + { + "type": "template", + "file": "_account/includes/_reset_form.html" + }, + { + "type": "template", + "file": "management/base.html", + "blocks": [ + "base_meta", + "base_stylesheets", + "body_class", + "base_content", + "base_js" + ], + "extends": [ + "base.html" + ] + }, + { + "type": "block", + "name": "base_meta", + "file": "management/base.html", + "parent_block": null, + "content": false, + "scoped": false, + "blocks": [ + "management_meta" + ] + }, + { + "type": "block", + "name": "management_meta", + "file": "management/base.html", + "parent_block": "base_meta", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_stylesheets", + "file": "management/base.html", + "parent_block": null, + "content": false, + "scoped": false, + "blocks": [ + "management_stylesheets" + ] + }, + { + "type": "block", + "name": "management_stylesheets", + "file": "management/base.html", + "parent_block": "base_stylesheets", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "body_class", + "file": "management/base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "base_content", + "file": "management/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "nav", + "page_title", + "management_content" + ], + "dynamic_includes": [ + "config.get(\"SITE_NOTE_TEMPLATE\")" + ], + "includes": [ + "includes/svg/doaj-icon.svg", + "includes/_tourist_nav.html", + "includes/_flash_notification.html", + "includes/_back-to-top.html" + ] + }, + { + "type": "block", + "name": "nav", + "file": "management/base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "management/base.html", + "parent_block": "base_content", + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "management_content", + "file": "management/base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_js", + "file": "management/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "management_js" + ], + "includes": [ + "includes/_tourist.html" + ] + }, + { + "type": "block", + "name": "management_js", + "file": "management/base.html", + "parent_block": "base_js", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "management/admin/base.html", + "blocks": [ + "management_stylesheets", + "nav", + "management_content", + "management_js" + ], + "extends": [ + "management/base.html" + ] + }, + { + "type": "block", + "name": "management_stylesheets", + "file": "management/admin/base.html", + "parent_block": null, + "content": false, + "scoped": false, + "blocks": [ + "admin_stylesheets" + ] + }, + { + "type": "block", + "name": "admin_stylesheets", + "file": "management/admin/base.html", + "parent_block": "management_stylesheets", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "nav", + "file": "management/admin/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "dashboard/nav.html" + ] + }, + { + "type": "block", + "name": "management_content", + "file": "management/admin/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "admin_content" + ], + "includes": [ + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "admin_content", + "file": "management/admin/base.html", + "parent_block": "management_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "management_js", + "file": "management/admin/base.html", + "parent_block": null, + "content": false, + "scoped": false, + "blocks": [ + "admin_js" + ] + }, + { + "type": "block", + "name": "admin_js", + "file": "management/admin/base.html", + "parent_block": "management_js", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "management/admin/admin_site_search.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "management/admin/base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "management/admin/admin_site_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "management/admin/admin_site_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "management/admin/admin_site_search.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "management/admin/includes/_applications_and_update_requests_common.html" + }, + { + "type": "template", + "file": "management/admin/includes/_applications_and_update_requests_common_js.html", + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "management/admin/account/users.html", + "blocks": [ + "page_title", + "admin_content", + "admin_js" + ], + "extends": [ + "management/admin/base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "management/admin/account/users.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "management/admin/account/users.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_js", + "file": "management/admin/account/users.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "management/admin/account/create.html", + "blocks": [ + "page_title", + "admin_stylesheets", + "admin_content", + "admin_js" + ], + "extends": [ + "management/admin/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "management/admin/account/create.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_stylesheets", + "file": "management/admin/account/create.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "management/admin/account/create.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_register_form.html" + ] + }, + { + "type": "block", + "name": "admin_js", + "file": "management/admin/account/create.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "management/admin/account/edit.html", + "blocks": [ + "page_title", + "admin_content", + "admin_js" + ], + "extends": [ + "management/admin/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "management/admin/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "management/admin/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_edit_user_form.html", + "_account/includes/_marketing-consent.html", + "_account/includes/_api-access.html" + ] + }, + { + "type": "block", + "name": "admin_js", + "file": "management/admin/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_edit_form_js.html" + ] + }, + { + "type": "template", + "file": "management/editor/base.html", + "blocks": [ + "management_stylesheets", + "nav", + "management_content", + "management_js" + ], + "extends": [ + "management/base.html" + ] + }, + { + "type": "block", + "name": "management_stylesheets", + "file": "management/editor/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "editor_stylesheets" + ] + }, + { + "type": "block", + "name": "editor_stylesheets", + "file": "management/editor/base.html", + "parent_block": "management_stylesheets", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "nav", + "file": "management/editor/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "editor/nav.html" + ] + }, + { + "type": "block", + "name": "management_content", + "file": "management/editor/base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "editor_content" + ], + "includes": [ + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "editor_content", + "file": "management/editor/base.html", + "parent_block": "management_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "management_js", + "file": "management/editor/base.html", + "parent_block": null, + "content": false, + "scoped": false, + "blocks": [ + "editor_js" + ] + }, + { + "type": "block", + "name": "editor_js", + "file": "management/editor/base.html", + "parent_block": "management_js", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "management/editor/account/edit.html", + "blocks": [ + "page_title", + "editor_content", + "editor_js" + ], + "extends": [ + "management/editor/base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "management/editor/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "management/editor/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_edit_user_form.html", + "_account/includes/_marketing-consent.html", + "_account/includes/_api-access.html" + ] + }, + { + "type": "block", + "name": "editor_js", + "file": "management/editor/account/edit.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_account/includes/_edit_form_js.html" + ] + }, + { + "type": "template", + "file": "redhead/tree.html" + }, + { + "type": "template", + "file": "redhead/blocks.html" + } +] \ No newline at end of file diff --git a/docs/redhead/templates-v2/redhead_tree.html b/docs/redhead/templates-v2/redhead_tree.html new file mode 100644 index 0000000000..95b76af16d --- /dev/null +++ b/docs/redhead/templates-v2/redhead_tree.html @@ -0,0 +1,4059 @@ + + + + + Redhead: Jinja2 template structure browser + + + + + + + + + + + + +File Inheritance | Block Inheritance | + Records JSON | Tree JSON | Blocks JSON
+ +

File Inheritance

+ +Expand all | Collapse all + +
    + + +
  • + + + base.html + + +
      + +
    • [+] Blocks +
        + + +
      • + base_content + + [Empty] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + management/base.html + + + + [base.html > management/base.html] + +
          • + +
          • + public/base.html + + + + [base.html > public/base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + base_js + + [Empty] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + management/base.html + + + + [base.html > management/base.html] + +
          • + +
          • + public/base.html + [Empty] + + + [base.html > public/base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + base_meta + + [Empty] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + management/base.html + [Empty] + + + [base.html > management/base.html] + +
          • + +
          • + public/base.html + + + + [base.html > public/base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + base_stylesheets + + [Empty] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + management/base.html + [Empty] + + + [base.html > management/base.html] + +
          • + +
          • + public/base.html + [Empty] + + + [base.html > public/base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + body_attrs + + [Empty] + [New Definition] + + [WARNING: Unused block] + + + +
      • + + + +
      • + body_class + + [Empty] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + management/base.html + + + + [base.html > management/base.html] + +
          • + +
          • + public/index.html + + + + [base.html > public/base.html > public/index.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + body_id + + [Has Content] + [New Definition] + + + + + +
      • + + + +
      • + page_title + + [Has Content] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + management/admin/account/create.html + + + + [base.html > management/base.html > management/admin/base.html > management/admin/account/create.html] + +
          • + +
          • + management/admin/account/edit.html + + + + [base.html > management/base.html > management/admin/base.html > management/admin/account/edit.html] + +
          • + +
          • + management/admin/account/users.html + + + + [base.html > management/base.html > management/admin/base.html > management/admin/account/users.html] + +
          • + +
          • + management/admin/admin_site_search.html + + + + [base.html > management/base.html > management/admin/base.html > management/admin/admin_site_search.html] + +
          • + +
          • + management/base.html + + + + [base.html > management/base.html] + +
          • + +
          • + management/editor/account/edit.html + + + + [base.html > management/base.html > management/editor/base.html > management/editor/account/edit.html] + +
          • + +
          • + public/account/edit.html + + + + [base.html > public/base.html > public/account/edit.html] + +
          • + +
          • + public/account/forgot.html + + + + [base.html > public/base.html > public/account/forgot.html] + +
          • + +
          • + public/account/login.html + + + + [base.html > public/base.html > public/account/login.html] + +
          • + +
          • + public/account/login_to_apply.html + + + + [base.html > public/base.html > public/account/login_to_apply.html] + +
          • + +
          • + public/account/register.html + + + + [base.html > public/base.html > public/account/register.html] + +
          • + +
          • + public/account/reset.html + + + + [base.html > public/base.html > public/account/reset.html] + +
          • + +
          • + public/layouts/static-page.html + + + + [base.html > public/base.html > public/layouts/static-page.html] + +
          • + +
          +
        • + +
        + +
      • + + +
      +
    • + + + + +
    • [+] Extensions +
        + + +
      • + + + management/ + + base.html + + +
          + +
        • [+] Blocks +
            + + +
          • + base_content + + [Has Content] + + + + + + + [base.html < management/base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + management_content + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + management/admin/base.html + + + + [management/base.html > management/admin/base.html] + +
                  • + +
                  • + management/editor/base.html + + + + [management/base.html > management/editor/base.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + nav + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + management/admin/base.html + + + + [management/base.html > management/admin/base.html] + +
                  • + +
                  • + management/editor/base.html + + + + [management/base.html > management/editor/base.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [base.html < management/base.html] + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + management/admin/account/create.html + + + + [management/base.html > management/admin/base.html > management/admin/account/create.html] + +
                  • + +
                  • + management/admin/account/edit.html + + + + [management/base.html > management/admin/base.html > management/admin/account/edit.html] + +
                  • + +
                  • + management/admin/account/users.html + + + + [management/base.html > management/admin/base.html > management/admin/account/users.html] + +
                  • + +
                  • + management/admin/admin_site_search.html + + + + [management/base.html > management/admin/base.html > management/admin/admin_site_search.html] + +
                  • + +
                  • + management/editor/account/edit.html + + + + [management/base.html > management/editor/base.html > management/editor/account/edit.html] + +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + +
            • [+] Includes +
                + + +
              • + + + includes/ + + _back-to-top.html + [WARNING: unresolved file] + +
              • + + + +
              • + + + includes/ + + _flash_notification.html + [WARNING: unresolved file] + +
              • + + + +
              • + + + includes/ + + _tourist_nav.html + [WARNING: unresolved file] + +
              • + + + +
              • + + + includes/ + + svg/ + + doaj-icon.svg + [WARNING: unresolved file] + +
              • + + +
              +
            • + + +
            • [+] Dynamic Includes +
                + +
              • config.get("SITE_NOTE_TEMPLATE")
              • + +
              +
            • + + +
            + +
          • + + + +
          • + base_js + + [Has Content] + + + + + + + [base.html < management/base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + management_js + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + management/admin/base.html + [Empty] + + + [management/base.html > management/admin/base.html] + +
                  • + +
                  • + management/editor/base.html + [Empty] + + + [management/base.html > management/editor/base.html] + +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + +
            • [+] Includes +
                + + +
              • + + + includes/ + + _tourist.html + [WARNING: unresolved file] + +
              • + + +
              +
            • + + + +
            + +
          • + + + +
          • + base_meta + + [Empty] + + + [WARNING: Unused block] + + + + [base.html < management/base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + management_meta + + [Empty] + [New Definition] + + [WARNING: Unused block] + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + base_stylesheets + + [Empty] + + + [WARNING: Unused block] + + + + [base.html < management/base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + management_stylesheets + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + management/admin/base.html + [Empty] + + + [management/base.html > management/admin/base.html] + +
                  • + +
                  • + management/editor/base.html + + + + [management/base.html > management/editor/base.html] + +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + body_class + + [Has Content] + + + + + + + [base.html < management/base.html] + + + + +
          • + + +
          +
        • + + + + +
        • [+] Extensions +
            + + +
          • + + + management/ + + admin/ + + base.html + + +
              + +
            • [+] Blocks +
                + + +
              • + management_content + + [Has Content] + + + + + + + [management/base.html < management/admin/base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + management/admin/account/create.html + + + + [management/admin/base.html > management/admin/account/create.html] + +
                      • + +
                      • + management/admin/account/edit.html + + + + [management/admin/base.html > management/admin/account/edit.html] + +
                      • + +
                      • + management/admin/account/users.html + + + + [management/admin/base.html > management/admin/account/users.html] + +
                      • + +
                      • + management/admin/admin_site_search.html + + + + [management/admin/base.html > management/admin/admin_site_search.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + _hotjar.html + [WARNING: unresolved file] + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + management_js + + [Empty] + + + [WARNING: Unused block] + + + + [management/base.html < management/admin/base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_js + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + management/admin/account/create.html + + + + [management/admin/base.html > management/admin/account/create.html] + +
                      • + +
                      • + management/admin/account/edit.html + + + + [management/admin/base.html > management/admin/account/edit.html] + +
                      • + +
                      • + management/admin/account/users.html + + + + [management/admin/base.html > management/admin/account/users.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + management_stylesheets + + [Empty] + + + [WARNING: Unused block] + + + + [management/base.html < management/admin/base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_stylesheets + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + management/admin/account/create.html + + + + [management/admin/base.html > management/admin/account/create.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + nav + + [Has Content] + + + + + + + [management/base.html < management/admin/base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + dashboard/ + + nav.html + [WARNING: unresolved file] + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            • [+] Extensions +
                + + +
              • + + + management/ + + admin/ + + account/ + + create.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [management/admin/base.html < management/admin/account/create.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _account/ + + includes/ + + _register_form.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + admin_js + + [Has Content] + + + + + + + [management/admin/base.html < management/admin/account/create.html] + + + + +
                  • + + + +
                  • + admin_stylesheets + + [Has Content] + + + + + + + [management/admin/base.html < management/admin/account/create.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [base.html < management/base.html < management/admin/base.html < management/admin/account/create.html] + + +
                    + + [management/base.html < management/admin/base.html < management/admin/account/create.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + management/ + + admin/ + + account/ + + edit.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [management/admin/base.html < management/admin/account/edit.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _account/ + + includes/ + + _api-access.html + + +
                      • + + + +
                      • + + + _account/ + + includes/ + + _edit_user_form.html + + +
                      • + + + +
                      • + + + _account/ + + includes/ + + _marketing-consent.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + admin_js + + [Has Content] + + + + + + + [management/admin/base.html < management/admin/account/edit.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _account/ + + includes/ + + _edit_form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [base.html < management/base.html < management/admin/base.html < management/admin/account/edit.html] + + +
                    + + [management/base.html < management/admin/base.html < management/admin/account/edit.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + management/ + + admin/ + + account/ + + users.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [management/admin/base.html < management/admin/account/users.html] + + + + +
                  • + + + +
                  • + admin_js + + [Has Content] + + + + + + + [management/admin/base.html < management/admin/account/users.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + [WARNING: unresolved file] + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [base.html < management/base.html < management/admin/base.html < management/admin/account/users.html] + + +
                    + + [management/base.html < management/admin/base.html < management/admin/account/users.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + management/ + + admin/ + + admin_site_search.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [management/admin/base.html < management/admin/admin_site_search.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + [New Definition] + + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + [WARNING: unresolved file] + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [base.html < management/base.html < management/admin/base.html < management/admin/admin_site_search.html] + + +
                    + + [management/base.html < management/admin/base.html < management/admin/admin_site_search.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + +
            + +
          • + + + +
          • + + + management/ + + editor/ + + base.html + + +
              + +
            • [+] Blocks +
                + + +
              • + management_content + + [Has Content] + + + + + + + [management/base.html < management/editor/base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + management/editor/account/edit.html + + + + [management/editor/base.html > management/editor/account/edit.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + _hotjar.html + [WARNING: unresolved file] + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + management_js + + [Empty] + + + [WARNING: Unused block] + + + + [management/base.html < management/editor/base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_js + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + management/editor/account/edit.html + + + + [management/editor/base.html > management/editor/account/edit.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + management_stylesheets + + [Has Content] + + + + + + + [management/base.html < management/editor/base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_stylesheets + + [Empty] + [New Definition] + + [WARNING: Unused block] + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + nav + + [Has Content] + + + + + + + [management/base.html < management/editor/base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + editor/ + + nav.html + [WARNING: unresolved file] + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            • [+] Extensions +
                + + +
              • + + + management/ + + editor/ + + account/ + + edit.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Has Content] + + + + + + + [management/editor/base.html < management/editor/account/edit.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _account/ + + includes/ + + _api-access.html + + +
                      • + + + +
                      • + + + _account/ + + includes/ + + _edit_user_form.html + + +
                      • + + + +
                      • + + + _account/ + + includes/ + + _marketing-consent.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + editor_js + + [Has Content] + + + + + + + [management/editor/base.html < management/editor/account/edit.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _account/ + + includes/ + + _edit_form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [base.html < management/base.html < management/editor/base.html < management/editor/account/edit.html] + + +
                    + + [management/base.html < management/editor/base.html < management/editor/account/edit.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + +
            + +
          • + + +
          +
        • + +
        + +
      • + + + +
      • + + + public/ + + base.html + + +
          + +
        • [+] Blocks +
            + + +
          • + base_content + + [Has Content] + + + + + + + [base.html < public/base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + extra_header + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/index.html + + + + [public/base.html > public/index.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + public_content + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/account/edit.html + + + + [public/base.html > public/account/edit.html] + +
                  • + +
                  • + public/account/forgot.html + + + + [public/base.html > public/account/forgot.html] + +
                  • + +
                  • + public/account/login.html + + + + [public/base.html > public/account/login.html] + +
                  • + +
                  • + public/account/login_to_apply.html + + + + [public/base.html > public/account/login_to_apply.html] + +
                  • + +
                  • + public/account/register.html + + + + [public/base.html > public/account/register.html] + +
                  • + +
                  • + public/account/reset.html + + + + [public/base.html > public/account/reset.html] + +
                  • + +
                  • + public/index.html + + + + [public/base.html > public/index.html] + +
                  • + +
                  • + public/layouts/static-page.html + + + + [public/base.html > public/layouts/static-page.html] + +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + +
            • [+] Includes +
                + + +
              • + + + includes/ + + _flash_notification.html + [WARNING: unresolved file] + +
              • + + + +
              • + + + includes/ + + _quick_search_modal.html + [WARNING: unresolved file] + +
              • + + + +
              • + + + includes/ + + footer.html + [WARNING: unresolved file] + +
              • + + + +
              • + + + includes/ + + header.html + [WARNING: unresolved file] + +
              • + + +
              +
            • + + +
            • [+] Dynamic Includes +
                + +
              • config.get("SITE_NOTE_TEMPLATE")
              • + +
              +
            • + + +
            + +
          • + + + +
          • + base_js + + [Empty] + + + [WARNING: Unused block] + + + + [base.html < public/base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + public_js + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/account/edit.html + + + + [public/base.html > public/account/edit.html] + +
                  • + +
                  • + public/account/register.html + + + + [public/base.html > public/account/register.html] + +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + base_meta + + [Has Content] + + + + + + + [base.html < public/base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + meta_description + + [Has Content] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/layouts/static-page.html + + + + [public/base.html > public/layouts/static-page.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + meta_og_description + + [Has Content] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/layouts/static-page.html + + + + [public/base.html > public/layouts/static-page.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + meta_og_title + + [Has Content] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/layouts/static-page.html + + + + [public/base.html > public/layouts/static-page.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + meta_twitter_description + + [Has Content] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/layouts/static-page.html + + + + [public/base.html > public/layouts/static-page.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + meta_twitter_title + + [Has Content] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/layouts/static-page.html + + + + [public/base.html > public/layouts/static-page.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + public_meta + + [Empty] + [New Definition] + + [WARNING: Unused block] + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + base_stylesheets + + [Empty] + + + [WARNING: Unused block] + + + + [base.html < public/base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + public_stylesheets + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + public/account/register.html + + + + [public/base.html > public/account/register.html] + +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + +
          +
        • + + + + +
        • [+] Extensions +
            + + +
          • + + + public/ + + account/ + + edit.html + + +
              + +
            • [+] Blocks +
                + + +
              • + page_title + + [Has Content] + + + + + + + [base.html < public/base.html < public/account/edit.html] + + + + +
              • + + + +
              • + public_content + + [Has Content] + + + + + + + [public/base.html < public/account/edit.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _account/ + + includes/ + + _api-access.html + + +
                  • + + + +
                  • + + + _account/ + + includes/ + + _edit_user_form.html + + +
                  • + + + +
                  • + + + _account/ + + includes/ + + _marketing-consent.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + public_js + + [Has Content] + + + + + + + [public/base.html < public/account/edit.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _account/ + + includes/ + + _edit_form_js.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + public/ + + account/ + + forgot.html + + +
              + +
            • [+] Blocks +
                + + +
              • + page_title + + [Has Content] + + + + + + + [base.html < public/base.html < public/account/forgot.html] + + + + +
              • + + + +
              • + public_content + + [Has Content] + + + + + + + [public/base.html < public/account/forgot.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + public/ + + account/ + + login.html + + +
              + +
            • [+] Blocks +
                + + +
              • + page_title + + [Has Content] + + + + + + + [base.html < public/base.html < public/account/login.html] + + + + +
              • + + + +
              • + public_content + + [Has Content] + + + + + + + [public/base.html < public/account/login.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _account/ + + includes/ + + _login_form.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + public/ + + account/ + + login_to_apply.html + + +
              + +
            • [+] Blocks +
                + + +
              • + page_title + + [Has Content] + + + + + + + [base.html < public/base.html < public/account/login_to_apply.html] + + + + +
              • + + + +
              • + public_content + + [Has Content] + + + + + + + [public/base.html < public/account/login_to_apply.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _account/ + + includes/ + + _login_form.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + public/ + + account/ + + register.html + + +
              + +
            • [+] Blocks +
                + + +
              • + page_title + + [Has Content] + + + + + + + [base.html < public/base.html < public/account/register.html] + + + + +
              • + + + +
              • + public_content + + [Has Content] + + + + + + + [public/base.html < public/account/register.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _account/ + + includes/ + + _register_form.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + public_js + + [Has Content] + + + + + + + [public/base.html < public/account/register.html] + + + + +
              • + + + +
              • + public_stylesheets + + [Has Content] + + + + + + + [public/base.html < public/account/register.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + public/ + + account/ + + reset.html + + +
              + +
            • [+] Blocks +
                + + +
              • + page_title + + [Has Content] + + + + + + + [base.html < public/base.html < public/account/reset.html] + + + + +
              • + + + +
              • + public_content + + [Has Content] + + + + + + + [public/base.html < public/account/reset.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _account/ + + includes/ + + _reset_form.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + public/ + + index.html + + +
              + +
            • [+] Blocks +
                + + +
              • + body_class + + [Has Content] + + + + + + + [base.html < public/base.html < public/index.html] + + + + +
              • + + + +
              • + extra_header + + [Has Content] + + + + + + + [public/base.html < public/index.html] + + + + +
              • + + + +
              • + public_content + + [Has Content] + + + + + + + [public/base.html < public/index.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + public/ + + layouts/ + + static-page.html + + +
              + +
            • [+] Blocks +
                + + +
              • + meta_description + + [Has Content] + + + + + + + [public/base.html < public/layouts/static-page.html] + + + + +
              • + + + +
              • + meta_og_description + + [Has Content] + + + + + + + [public/base.html < public/layouts/static-page.html] + + + + +
              • + + + +
              • + meta_og_title + + [Has Content] + + + + + + + [public/base.html < public/layouts/static-page.html] + + + + +
              • + + + +
              • + meta_twitter_description + + [Has Content] + + + + + + + [public/base.html < public/layouts/static-page.html] + + + + +
              • + + + +
              • + meta_twitter_title + + [Has Content] + + + + + + + [public/base.html < public/layouts/static-page.html] + + + + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [base.html < public/base.html < public/layouts/static-page.html] + + + + +
              • + + + +
              • + public_content + + [Has Content] + + + + + + + [public/base.html < public/layouts/static-page.html] + + + + +
                  + + + +
                • [+] Dynamic Includes +
                    + +
                  • inc
                  • + +
                  • page.frag
                  • + +
                  +
                • + + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + +
          +
        • + +
        + +
      • + + +
      +
    • + +
    + +
  • + + + +
  • + + + management/ + + admin/ + + includes/ + + _applications_and_update_requests_common.html + + +
  • + + + +
  • + + + management/ + + admin/ + + includes/ + + _applications_and_update_requests_common_js.html + + +
  • + + + +
  • + + + public/ + + layouts/ + + _static-page_no-sidenav.html + + +
      + + + +
    • [+] Dynamic Includes +
        + +
      • page.aside
      • + +
      • page.frag
      • + +
      • page.include
      • + +
      +
    • + + +
    + +
  • + + + +
  • + + + public/ + + layouts/ + + _static-page_sidenav.html + + +
      + + + +
    • [+] Dynamic Includes +
        + +
      • page.frag
      • + +
      • page.include
      • + +
      • page.preface
      • + +
      • page.sidenav_include
      • + +
      +
    • + + +
    + +
  • + + + +
  • + + + redhead/ + + blocks.html + + +
  • + + + +
  • + + + redhead/ + + tree.html + + +
  • + + +
+ + + + + + + \ No newline at end of file diff --git a/docs/redhead/templates-v2/redhead_tree.json b/docs/redhead/templates-v2/redhead_tree.json new file mode 100644 index 0000000000..4d7f840d97 --- /dev/null +++ b/docs/redhead/templates-v2/redhead_tree.json @@ -0,0 +1,2567 @@ +[ + { + "name": "base.html", + "blocks": [ + { + "name": "base_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + }, + { + "file": "public/base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "base_js", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + }, + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "base.html", + "public/base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "base_meta", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + }, + { + "file": "public/base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "base_stylesheets", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + }, + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "base.html", + "public/base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "body_attrs", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [], + "scoped": false + }, + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + }, + { + "file": "public/index.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/index.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "body_id", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "management/admin/account/create.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + }, + { + "file": "management/admin/account/edit.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/admin/base.html", + "management/admin/account/edit.html" + ] + ] + }, + { + "file": "management/admin/account/users.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/admin/base.html", + "management/admin/account/users.html" + ] + ] + }, + { + "file": "management/admin/admin_site_search.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/admin/base.html", + "management/admin/admin_site_search.html" + ] + ] + }, + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + }, + { + "file": "management/editor/account/edit.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/editor/base.html", + "management/editor/account/edit.html" + ] + ] + }, + { + "file": "public/account/edit.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/edit.html" + ] + ] + }, + { + "file": "public/account/forgot.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/forgot.html" + ] + ] + }, + { + "file": "public/account/login.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/login.html" + ] + ] + }, + { + "file": "public/account/login_to_apply.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/login_to_apply.html" + ] + ] + }, + { + "file": "public/account/register.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/register.html" + ] + ] + }, + { + "file": "public/account/reset.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/reset.html" + ] + ] + }, + { + "file": "public/layouts/static-page.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "management/base.html", + "blocks": [ + { + "name": "base_content", + "blocks": [ + { + "name": "management_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/admin/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html" + ] + ] + }, + { + "file": "management/editor/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/editor/base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "nav", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/admin/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html" + ] + ] + }, + { + "file": "management/editor/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/editor/base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "management/admin/account/create.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + }, + { + "file": "management/admin/account/edit.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html", + "management/admin/account/edit.html" + ] + ] + }, + { + "file": "management/admin/account/users.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html", + "management/admin/account/users.html" + ] + ] + }, + { + "file": "management/admin/admin_site_search.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html", + "management/admin/admin_site_search.html" + ] + ] + }, + { + "file": "management/editor/account/edit.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/editor/base.html", + "management/editor/account/edit.html" + ] + ] + } + ], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_back-to-top.html", + "unresolved": true + }, + { + "name": "includes/_flash_notification.html", + "unresolved": true + }, + { + "name": "includes/_tourist_nav.html", + "unresolved": true + }, + { + "name": "includes/svg/doaj-icon.svg", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + } + ], + "scoped": false, + "dynamic_includes": [ + "config.get(\"SITE_NOTE_TEMPLATE\")" + ] + }, + { + "name": "base_js", + "blocks": [ + { + "name": "management_js", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/admin/base.html" + ] + ] + }, + { + "file": "management/editor/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/editor/base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_tourist.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "base_meta", + "blocks": [ + { + "name": "management_meta", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "base_stylesheets", + "blocks": [ + { + "name": "management_stylesheets", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/admin/base.html" + ] + ] + }, + { + "file": "management/editor/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/editor/base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "management/base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "management/admin/base.html", + "blocks": [ + { + "name": "management_content", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/admin/account/create.html", + "content": true, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + }, + { + "file": "management/admin/account/edit.html", + "content": true, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/edit.html" + ] + ] + }, + { + "file": "management/admin/account/users.html", + "content": true, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/users.html" + ] + ] + }, + { + "file": "management/admin/admin_site_search.html", + "content": true, + "paths": [ + [ + "management/admin/base.html", + "management/admin/admin_site_search.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_hotjar.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/admin/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "management_js", + "blocks": [ + { + "name": "admin_js", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/admin/account/create.html", + "content": true, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + }, + { + "file": "management/admin/account/edit.html", + "content": true, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/edit.html" + ] + ] + }, + { + "file": "management/admin/account/users.html", + "content": true, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/users.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/admin/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "management_stylesheets", + "blocks": [ + { + "name": "admin_stylesheets", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/admin/account/create.html", + "content": true, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/admin/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "nav", + "blocks": [], + "includes": [ + { + "name": "dashboard/nav.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/admin/base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "management/admin/account/create.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_register_form.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "admin_js", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "admin_stylesheets", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + }, + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html", + "management/admin/account/create.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "management/admin/account/edit.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_api-access.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "_account/includes/_edit_user_form.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "_account/includes/_marketing-consent.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/edit.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "admin_js", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_edit_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/edit.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/admin/base.html", + "management/admin/account/edit.html" + ] + ] + }, + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html", + "management/admin/account/edit.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "management/admin/account/users.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/users.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "admin_js", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/admin/base.html", + "management/admin/account/users.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/admin/base.html", + "management/admin/account/users.html" + ] + ] + }, + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html", + "management/admin/account/users.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "management/admin/admin_site_search.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/admin/base.html", + "content": false, + "paths": [ + [ + "management/admin/base.html", + "management/admin/admin_site_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/admin/base.html", + "management/admin/admin_site_search.html" + ] + ] + }, + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/admin/base.html", + "management/admin/admin_site_search.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ] + }, + { + "name": "management/editor/base.html", + "blocks": [ + { + "name": "management_content", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/editor/account/edit.html", + "content": true, + "paths": [ + [ + "management/editor/base.html", + "management/editor/account/edit.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_hotjar.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/editor/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "management_js", + "blocks": [ + { + "name": "editor_js", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "management/editor/account/edit.html", + "content": true, + "paths": [ + [ + "management/editor/base.html", + "management/editor/account/edit.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/editor/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "management_stylesheets", + "blocks": [ + { + "name": "editor_stylesheets", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/editor/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "nav", + "blocks": [], + "includes": [ + { + "name": "editor/nav.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/base.html", + "content": false, + "paths": [ + [ + "management/base.html", + "management/editor/base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "management/editor/account/edit.html", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_api-access.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "_account/includes/_edit_user_form.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "_account/includes/_marketing-consent.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/editor/base.html", + "content": false, + "paths": [ + [ + "management/editor/base.html", + "management/editor/account/edit.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "editor_js", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_edit_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "management/editor/base.html", + "content": false, + "paths": [ + [ + "management/editor/base.html", + "management/editor/account/edit.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "management/base.html", + "management/editor/base.html", + "management/editor/account/edit.html" + ] + ] + }, + { + "file": "management/base.html", + "content": true, + "paths": [ + [ + "management/base.html", + "management/editor/base.html", + "management/editor/account/edit.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ] + } + ] + }, + { + "name": "public/base.html", + "blocks": [ + { + "name": "base_content", + "blocks": [ + { + "name": "extra_header", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "public/index.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/index.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "public/account/edit.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/edit.html" + ] + ] + }, + { + "file": "public/account/forgot.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/forgot.html" + ] + ] + }, + { + "file": "public/account/login.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/login.html" + ] + ] + }, + { + "file": "public/account/login_to_apply.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/login_to_apply.html" + ] + ] + }, + { + "file": "public/account/register.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/register.html" + ] + ] + }, + { + "file": "public/account/reset.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/reset.html" + ] + ] + }, + { + "file": "public/index.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/index.html" + ] + ] + }, + { + "file": "public/layouts/static-page.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_flash_notification.html", + "unresolved": true + }, + { + "name": "includes/_quick_search_modal.html", + "unresolved": true + }, + { + "name": "includes/footer.html", + "unresolved": true + }, + { + "name": "includes/header.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "public/base.html" + ] + ] + } + ], + "scoped": false, + "dynamic_includes": [ + "config.get(\"SITE_NOTE_TEMPLATE\")" + ] + }, + { + "name": "base_js", + "blocks": [ + { + "name": "public_js", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "public/account/edit.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/edit.html" + ] + ] + }, + { + "file": "public/account/register.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/register.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "public/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "base_meta", + "blocks": [ + { + "name": "meta_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "public/layouts/static-page.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_og_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "public/layouts/static-page.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_og_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "public/layouts/static-page.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_twitter_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "public/layouts/static-page.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_twitter_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "public/layouts/static-page.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "public_meta", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "public/base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "base_stylesheets", + "blocks": [ + { + "name": "public_stylesheets", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "public/account/register.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/account/register.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "public/base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "public/account/edit.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/edit.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_api-access.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "_account/includes/_edit_user_form.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "_account/includes/_marketing-consent.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/edit.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_js", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_edit_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/edit.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "public/account/forgot.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/forgot.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/forgot.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "public/account/login.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/login.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_login_form.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/login.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "public/account/login_to_apply.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/login_to_apply.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_login_form.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/login_to_apply.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "public/account/register.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/register.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_register_form.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/register.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_js", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/register.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_stylesheets", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/register.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "public/account/reset.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/account/reset.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [ + { + "name": "_account/includes/_reset_form.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/account/reset.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "public/index.html", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": false, + "paths": [ + [ + "base.html", + "public/base.html", + "public/index.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_header", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/index.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/index.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "public/layouts/static-page.html", + "blocks": [ + { + "name": "meta_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": true, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "base.html", + "content": true, + "paths": [ + [ + "base.html", + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "public_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "public/base.html", + "content": false, + "paths": [ + [ + "public/base.html", + "public/layouts/static-page.html" + ] + ] + } + ], + "scoped": false, + "dynamic_includes": [ + "inc", + "page.frag" + ] + } + ], + "includes": [], + "extensions": [] + } + ] + } + ] + }, + { + "name": "management/admin/includes/_applications_and_update_requests_common.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "management/admin/includes/_applications_and_update_requests_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "public/layouts/_static-page_no-sidenav.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "page.aside", + "page.frag", + "page.include" + ] + }, + { + "name": "public/layouts/_static-page_sidenav.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "page.frag", + "page.include", + "page.preface", + "page.sidenav_include" + ] + }, + { + "name": "redhead/blocks.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "redhead/tree.html", + "blocks": [], + "includes": [], + "extensions": [] + } +] \ No newline at end of file diff --git a/docs/redhead/templates/redhead_blocks.html b/docs/redhead/templates/redhead_blocks.html new file mode 100644 index 0000000000..65e94ec12e --- /dev/null +++ b/docs/redhead/templates/redhead_blocks.html @@ -0,0 +1,5863 @@ + + + + + Redhead: Jinja2 template structure browser + + + + + + + + + + + +File Inheritance | Block Inheritance | + Records JSON | Tree JSON | Blocks JSON

+ +

Block Inheritance

+ +Expand all | Collapse all + +
    + + +
  • + base_content + + + + + + + + + + + + + +
      + +
    • [+] Blocks +
        + + +
      • + body_class + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + layouts/ + + public_base.html +
          • + +
          • + + 500.html +
          • + +
          • + + 401.html +
          • + +
          • + + 404.html +
          • + +
          • + + 400.html +
          • + +
          • + + unlocked.html +
          • + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          • + + layouts/ + + toc_base.html +
          • + +
          • + + doaj/ + + article.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + body_class + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          • + + 500.html +
          • + +
          • + + 401.html +
          • + +
          • + + 404.html +
          • + +
          • + + 400.html +
          • + +
          • + + unlocked.html +
          • + +
          • + + layouts/ + + public_base.html +
          • + +
          • + + layouts/ + + toc_base.html +
          • + +
          • + + doaj/ + + article.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + body_id + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          • + + application_form/ + + editor_application.html +
          • + +
          • + + application_form/ + + maned_application.html +
          • + +
          • + + application_form/ + + maned_journal.html +
          • + +
          • + + application_form/ + + assed_application.html +
          • + +
          • + + application_form/ + + assed_journal.html +
          • + +
          • + + application_form/ + + editor_journal.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + extra_header + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + layouts/ + + public_base.html +
          • + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + extra_header + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          • + + layouts/ + + public_base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + extra_js_bottom + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + layouts/ + + public_base.html +
          • + +
          • + + dashboard/ + + notifications.html +
          • + +
          • + + dashboard/ + + index.html +
          • + +
          • + + publisher/ + + updates_in_progress.html +
          • + +
          • + + publisher/ + + metadata.html +
          • + +
          • + + publisher/ + + journals.html +
          • + +
          • + + publisher/ + + uploadmetadata.html +
          • + +
          • + + publisher/ + + preservation.html +
          • + +
          • + + publisher/ + + journal_csv.html +
          • + +
          • + + publisher/ + + index.html +
          • + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          • + + admin/ + + global_notifications_search.html +
          • + +
          • + + admin/ + + applications.html +
          • + +
          • + + admin/ + + update_requests.html +
          • + +
          • + + admin/ + + editor_group.html +
          • + +
          • + + admin/ + + background_jobs_search.html +
          • + +
          • + + admin/ + + editor_group_search.html +
          • + +
          • + + admin/ + + article_metadata.html +
          • + +
          • + + admin/ + + index.html +
          • + +
          • + + editor/ + + group_journals.html +
          • + +
          • + + editor/ + + associate_applications.html +
          • + +
          • + + editor/ + + group_applications.html +
          • + +
          • + + editor/ + + associate_journals.html +
          • + +
          • + + editor/ + + dashboard.html +
          • + +
          • + + doaj/ + + contact.html +
          • + +
          • + + doaj/ + + articles_search.html +
          • + +
          • + + doaj/ + + journals_search.html +
          • + +
          • + + doaj/ + + toc_articles.html +
          • + +
          • + + api/ + + current/ + + api_docs.html +
          • + +
          • + + application_form/ + + editor_application.html +
          • + +
          • + + application_form/ + + public_application.html +
          • + +
          • + + application_form/ + + readonly_application.html +
          • + +
          • + + application_form/ + + maned_application.html +
          • + +
          • + + application_form/ + + maned_journal.html +
          • + +
          • + + application_form/ + + assed_application.html +
          • + +
          • + + application_form/ + + assed_journal.html +
          • + +
          • + + application_form/ + + editor_journal.html +
          • + +
          • + + application_form/ + + publisher_update_request.html +
          • + +
          • + + application_form/ + + readonly_journal.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + extra_js_bottom + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          • + + dashboard/ + + notifications.html +
          • + +
          • + + dashboard/ + + index.html +
          • + +
          • + + publisher/ + + updates_in_progress.html +
          • + +
          • + + publisher/ + + metadata.html +
          • + +
          • + + publisher/ + + journals.html +
          • + +
          • + + publisher/ + + uploadmetadata.html +
          • + +
          • + + publisher/ + + preservation.html +
          • + +
          • + + publisher/ + + journal_csv.html +
          • + +
          • + + publisher/ + + index.html +
          • + +
          • + + layouts/ + + public_base.html +
          • + +
          • + + admin/ + + global_notifications_search.html +
          • + +
          • + + admin/ + + applications.html +
          • + +
          • + + admin/ + + update_requests.html +
          • + +
          • + + admin/ + + editor_group.html +
          • + +
          • + + admin/ + + background_jobs_search.html +
          • + +
          • + + admin/ + + editor_group_search.html +
          • + +
          • + + admin/ + + article_metadata.html +
          • + +
          • + + admin/ + + index.html +
          • + +
          • + + editor/ + + group_journals.html +
          • + +
          • + + editor/ + + associate_applications.html +
          • + +
          • + + editor/ + + group_applications.html +
          • + +
          • + + editor/ + + associate_journals.html +
          • + +
          • + + editor/ + + dashboard.html +
          • + +
          • + + doaj/ + + contact.html +
          • + +
          • + + doaj/ + + articles_search.html +
          • + +
          • + + doaj/ + + journals_search.html +
          • + +
          • + + doaj/ + + toc_articles.html +
          • + +
          • + + api/ + + current/ + + api_docs.html +
          • + +
          • + + application_form/ + + editor_application.html +
          • + +
          • + + application_form/ + + public_application.html +
          • + +
          • + + application_form/ + + readonly_application.html +
          • + +
          • + + application_form/ + + maned_application.html +
          • + +
          • + + application_form/ + + maned_journal.html +
          • + +
          • + + application_form/ + + assed_application.html +
          • + +
          • + + application_form/ + + assed_journal.html +
          • + +
          • + + application_form/ + + editor_journal.html +
          • + +
          • + + application_form/ + + publisher_update_request.html +
          • + +
          • + + application_form/ + + readonly_journal.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + main_panel + + + + + + + + + + + + + +
          + +
        • [+] Blocks +
            + + +
          • + content + + + + + + + + + + + + + +
              + +
            • [+] Blocks +
                + + +
              • + admin_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + admin/ + + admin_base.html +
                  • + +
                  • + + admin/ + + continuation.html +
                  • + +
                  • + + admin/ + + journal_locked.html +
                  • + +
                  • + + admin/ + + global_notifications_search.html +
                  • + +
                  • + + admin/ + + application_locked.html +
                  • + +
                  • + + admin/ + + applications.html +
                  • + +
                  • + + admin/ + + update_requests.html +
                  • + +
                  • + + admin/ + + editor_group.html +
                  • + +
                  • + + admin/ + + background_jobs_search.html +
                  • + +
                  • + + admin/ + + editor_group_search.html +
                  • + +
                  • + + admin/ + + article_metadata.html +
                  • + +
                  • + + admin/ + + index.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + editor_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + editor/ + + editor_base.html +
                  • + +
                  • + + editor/ + + group_journals.html +
                  • + +
                  • + + editor/ + + journal_locked.html +
                  • + +
                  • + + editor/ + + associate_applications.html +
                  • + +
                  • + + editor/ + + group_applications.html +
                  • + +
                  • + + editor/ + + application_locked.html +
                  • + +
                  • + + editor/ + + associate_journals.html +
                  • + +
                  • + + editor/ + + dashboard.html +
                  • + +
                  • + + application_form/ + + editor_application.html +
                  • + +
                  • + + application_form/ + + assed_application.html +
                  • + +
                  • + + application_form/ + + assed_journal.html +
                  • + +
                  • + + application_form/ + + editor_journal.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + publisher_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + publisher/ + + publisher_base.html +
                  • + +
                  • + + publisher/ + + locked.html +
                  • + +
                  • + + publisher/ + + updates_in_progress.html +
                  • + +
                  • + + publisher/ + + metadata.html +
                  • + +
                  • + + publisher/ + + readonly.html +
                  • + +
                  • + + publisher/ + + journals.html +
                  • + +
                  • + + publisher/ + + uploadmetadata.html +
                  • + +
                  • + + publisher/ + + preservation.html +
                  • + +
                  • + + publisher/ + + journal_csv.html +
                  • + +
                  • + + publisher/ + + help.html +
                  • + +
                  • + + publisher/ + + application_already_submitted.html +
                  • + +
                  • + + publisher/ + + index.html +
                  • + +
                  • + + application_form/ + + readonly_application.html +
                  • + +
                  • + + application_form/ + + publisher_update_request.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + single_col_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + single_col_page.html +
                  • + +
                  • + + 500.html +
                  • + +
                  • + + 401.html +
                  • + +
                  • + + 404.html +
                  • + +
                  • + + 400.html +
                  • + +
                  • + + publisher/ + + application_deleted.html +
                  • + +
                  • + + doaj/ + + readonly.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + title + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + single_col_page.html +
                  • + +
                  • + + 500.html +
                  • + +
                  • + + 401.html +
                  • + +
                  • + + 404.html +
                  • + +
                  • + + 400.html +
                  • + +
                  • + + unlocked.html +
                  • + +
                  • + + publisher/ + + application_deleted.html +
                  • + +
                  • + + doaj/ + + readonly.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + toc_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + toc_base.html +
                  • + +
                  • + + doaj/ + + toc.html +
                  • + +
                  • + + doaj/ + + toc_articles.html +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + +
            • [+] Files +
                + +
              • + + layouts/ + + public_base.html +
              • + +
              • + + unlocked.html +
              • + +
              • + + dashboard/ + + notifications.html +
              • + +
              • + + dashboard/ + + index.html +
              • + +
              • + + openurl/ + + 404.html +
              • + +
              • + + openurl/ + + help.html +
              • + +
              • + + publisher/ + + publisher_base.html +
              • + +
              • + + layouts/ + + single_col_page.html +
              • + +
              • + + layouts/ + + dashboard_base.html +
              • + +
              • + + layouts/ + + toc_base.html +
              • + +
              • + + admin/ + + admin_base.html +
              • + +
              • + + editor/ + + editor_base.html +
              • + +
              • + + doaj/ + + contact.html +
              • + +
              • + + doaj/ + + articles_search.html +
              • + +
              • + + doaj/ + + journals_search.html +
              • + +
              • + + doaj/ + + article.html +
              • + +
              • + + api/ + + current/ + + api_docs.html +
              • + +
              • + + application_form/ + + public_application.html +
              • + +
              • + + application_form/ + + maned_application.html +
              • + +
              • + + application_form/ + + maned_journal.html +
              • + +
              • + + application_form/ + + readonly_journal.html +
              • + +
              +
            • + +
            + +
          • + + + +
          • + content + + + + + + + + + + + + + +
              + +
            • [+] Blocks +
                + + +
              • + admin_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + admin/ + + admin_base.html +
                  • + +
                  • + + admin/ + + continuation.html +
                  • + +
                  • + + admin/ + + journal_locked.html +
                  • + +
                  • + + admin/ + + global_notifications_search.html +
                  • + +
                  • + + admin/ + + application_locked.html +
                  • + +
                  • + + admin/ + + applications.html +
                  • + +
                  • + + admin/ + + update_requests.html +
                  • + +
                  • + + admin/ + + editor_group.html +
                  • + +
                  • + + admin/ + + background_jobs_search.html +
                  • + +
                  • + + admin/ + + editor_group_search.html +
                  • + +
                  • + + admin/ + + article_metadata.html +
                  • + +
                  • + + admin/ + + index.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + editor_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + editor/ + + editor_base.html +
                  • + +
                  • + + editor/ + + group_journals.html +
                  • + +
                  • + + editor/ + + journal_locked.html +
                  • + +
                  • + + editor/ + + associate_applications.html +
                  • + +
                  • + + editor/ + + group_applications.html +
                  • + +
                  • + + editor/ + + application_locked.html +
                  • + +
                  • + + editor/ + + associate_journals.html +
                  • + +
                  • + + editor/ + + dashboard.html +
                  • + +
                  • + + application_form/ + + editor_application.html +
                  • + +
                  • + + application_form/ + + assed_application.html +
                  • + +
                  • + + application_form/ + + assed_journal.html +
                  • + +
                  • + + application_form/ + + editor_journal.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + publisher_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + publisher/ + + publisher_base.html +
                  • + +
                  • + + publisher/ + + locked.html +
                  • + +
                  • + + publisher/ + + updates_in_progress.html +
                  • + +
                  • + + publisher/ + + metadata.html +
                  • + +
                  • + + publisher/ + + readonly.html +
                  • + +
                  • + + publisher/ + + journals.html +
                  • + +
                  • + + publisher/ + + uploadmetadata.html +
                  • + +
                  • + + publisher/ + + preservation.html +
                  • + +
                  • + + publisher/ + + journal_csv.html +
                  • + +
                  • + + publisher/ + + help.html +
                  • + +
                  • + + publisher/ + + application_already_submitted.html +
                  • + +
                  • + + publisher/ + + index.html +
                  • + +
                  • + + application_form/ + + readonly_application.html +
                  • + +
                  • + + application_form/ + + publisher_update_request.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + single_col_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + single_col_page.html +
                  • + +
                  • + + 500.html +
                  • + +
                  • + + 401.html +
                  • + +
                  • + + 404.html +
                  • + +
                  • + + 400.html +
                  • + +
                  • + + publisher/ + + application_deleted.html +
                  • + +
                  • + + doaj/ + + readonly.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + title + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + single_col_page.html +
                  • + +
                  • + + 500.html +
                  • + +
                  • + + 401.html +
                  • + +
                  • + + 404.html +
                  • + +
                  • + + 400.html +
                  • + +
                  • + + unlocked.html +
                  • + +
                  • + + publisher/ + + application_deleted.html +
                  • + +
                  • + + doaj/ + + readonly.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + toc_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + toc_base.html +
                  • + +
                  • + + doaj/ + + toc.html +
                  • + +
                  • + + doaj/ + + toc_articles.html +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + +
            • [+] Files +
                + +
              • + + layouts/ + + dashboard_base.html +
              • + +
              • + + unlocked.html +
              • + +
              • + + dashboard/ + + notifications.html +
              • + +
              • + + dashboard/ + + index.html +
              • + +
              • + + openurl/ + + 404.html +
              • + +
              • + + openurl/ + + help.html +
              • + +
              • + + publisher/ + + publisher_base.html +
              • + +
              • + + layouts/ + + single_col_page.html +
              • + +
              • + + layouts/ + + public_base.html +
              • + +
              • + + layouts/ + + toc_base.html +
              • + +
              • + + admin/ + + admin_base.html +
              • + +
              • + + editor/ + + editor_base.html +
              • + +
              • + + doaj/ + + contact.html +
              • + +
              • + + doaj/ + + articles_search.html +
              • + +
              • + + doaj/ + + journals_search.html +
              • + +
              • + + doaj/ + + article.html +
              • + +
              • + + api/ + + current/ + + api_docs.html +
              • + +
              • + + application_form/ + + public_application.html +
              • + +
              • + + application_form/ + + maned_application.html +
              • + +
              • + + application_form/ + + maned_journal.html +
              • + +
              • + + application_form/ + + readonly_journal.html +
              • + +
              +
            • + +
            + +
          • + + + +
          • + page_title + + + + + + + + + + + + + +
              + + +
            • [+] Files +
                + +
              • + + layouts/ + + dashboard_base.html +
              • + +
              • + + 500.html +
              • + +
              • + + 401.html +
              • + +
              • + + 404.html +
              • + +
              • + + 400.html +
              • + +
              • + + unlocked.html +
              • + +
              • + + publisher/ + + locked.html +
              • + +
              • + + publisher/ + + updates_in_progress.html +
              • + +
              • + + publisher/ + + metadata.html +
              • + +
              • + + publisher/ + + readonly.html +
              • + +
              • + + publisher/ + + journals.html +
              • + +
              • + + publisher/ + + uploadmetadata.html +
              • + +
              • + + publisher/ + + preservation.html +
              • + +
              • + + publisher/ + + journal_csv.html +
              • + +
              • + + publisher/ + + application_deleted.html +
              • + +
              • + + publisher/ + + help.html +
              • + +
              • + + publisher/ + + index.html +
              • + +
              • + + publisher/ + + publisher_base.html +
              • + +
              • + + layouts/ + + base.html +
              • + +
              • + + layouts/ + + toc_base.html +
              • + +
              • + + admin/ + + continuation.html +
              • + +
              • + + admin/ + + journal_locked.html +
              • + +
              • + + admin/ + + global_notifications_search.html +
              • + +
              • + + admin/ + + application_locked.html +
              • + +
              • + + admin/ + + applications.html +
              • + +
              • + + admin/ + + update_requests.html +
              • + +
              • + + admin/ + + editor_group.html +
              • + +
              • + + admin/ + + background_jobs_search.html +
              • + +
              • + + admin/ + + editor_group_search.html +
              • + +
              • + + admin/ + + article_metadata.html +
              • + +
              • + + admin/ + + index.html +
              • + +
              • + + editor/ + + group_journals.html +
              • + +
              • + + editor/ + + journal_locked.html +
              • + +
              • + + editor/ + + associate_applications.html +
              • + +
              • + + editor/ + + group_applications.html +
              • + +
              • + + editor/ + + application_locked.html +
              • + +
              • + + editor/ + + associate_journals.html +
              • + +
              • + + doaj/ + + readonly.html +
              • + +
              • + + doaj/ + + articles_search.html +
              • + +
              • + + doaj/ + + journals_search.html +
              • + +
              • + + doaj/ + + article.html +
              • + +
              • + + api/ + + current/ + + api_docs.html +
              • + +
              • + + application_form/ + + editor_application.html +
              • + +
              • + + application_form/ + + public_application.html +
              • + +
              • + + application_form/ + + readonly_application.html +
              • + +
              • + + application_form/ + + maned_application.html +
              • + +
              • + + application_form/ + + maned_journal.html +
              • + +
              • + + application_form/ + + assed_application.html +
              • + +
              • + + application_form/ + + assed_journal.html +
              • + +
              • + + application_form/ + + editor_journal.html +
              • + +
              • + + application_form/ + + publisher_update_request.html +
              • + +
              • + + application_form/ + + readonly_journal.html +
              • + +
              +
            • + +
            + +
          • + + +
          +
        • + + +
        • [+] Files +
            + +
          • + + layouts/ + + public_base.html +
          • + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + main_panel + + + + + + + + + + + + + +
          + +
        • [+] Blocks +
            + + +
          • + content + + + + + + + + + + + + + +
              + +
            • [+] Blocks +
                + + +
              • + admin_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + admin/ + + admin_base.html +
                  • + +
                  • + + admin/ + + continuation.html +
                  • + +
                  • + + admin/ + + journal_locked.html +
                  • + +
                  • + + admin/ + + global_notifications_search.html +
                  • + +
                  • + + admin/ + + application_locked.html +
                  • + +
                  • + + admin/ + + applications.html +
                  • + +
                  • + + admin/ + + update_requests.html +
                  • + +
                  • + + admin/ + + editor_group.html +
                  • + +
                  • + + admin/ + + background_jobs_search.html +
                  • + +
                  • + + admin/ + + editor_group_search.html +
                  • + +
                  • + + admin/ + + article_metadata.html +
                  • + +
                  • + + admin/ + + index.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + editor_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + editor/ + + editor_base.html +
                  • + +
                  • + + editor/ + + group_journals.html +
                  • + +
                  • + + editor/ + + journal_locked.html +
                  • + +
                  • + + editor/ + + associate_applications.html +
                  • + +
                  • + + editor/ + + group_applications.html +
                  • + +
                  • + + editor/ + + application_locked.html +
                  • + +
                  • + + editor/ + + associate_journals.html +
                  • + +
                  • + + editor/ + + dashboard.html +
                  • + +
                  • + + application_form/ + + editor_application.html +
                  • + +
                  • + + application_form/ + + assed_application.html +
                  • + +
                  • + + application_form/ + + assed_journal.html +
                  • + +
                  • + + application_form/ + + editor_journal.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + publisher_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + publisher/ + + publisher_base.html +
                  • + +
                  • + + publisher/ + + locked.html +
                  • + +
                  • + + publisher/ + + updates_in_progress.html +
                  • + +
                  • + + publisher/ + + metadata.html +
                  • + +
                  • + + publisher/ + + readonly.html +
                  • + +
                  • + + publisher/ + + journals.html +
                  • + +
                  • + + publisher/ + + uploadmetadata.html +
                  • + +
                  • + + publisher/ + + preservation.html +
                  • + +
                  • + + publisher/ + + journal_csv.html +
                  • + +
                  • + + publisher/ + + help.html +
                  • + +
                  • + + publisher/ + + application_already_submitted.html +
                  • + +
                  • + + publisher/ + + index.html +
                  • + +
                  • + + application_form/ + + readonly_application.html +
                  • + +
                  • + + application_form/ + + publisher_update_request.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + single_col_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + single_col_page.html +
                  • + +
                  • + + 500.html +
                  • + +
                  • + + 401.html +
                  • + +
                  • + + 404.html +
                  • + +
                  • + + 400.html +
                  • + +
                  • + + publisher/ + + application_deleted.html +
                  • + +
                  • + + doaj/ + + readonly.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + title + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + single_col_page.html +
                  • + +
                  • + + 500.html +
                  • + +
                  • + + 401.html +
                  • + +
                  • + + 404.html +
                  • + +
                  • + + 400.html +
                  • + +
                  • + + unlocked.html +
                  • + +
                  • + + publisher/ + + application_deleted.html +
                  • + +
                  • + + doaj/ + + readonly.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + toc_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + toc_base.html +
                  • + +
                  • + + doaj/ + + toc.html +
                  • + +
                  • + + doaj/ + + toc_articles.html +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + +
            • [+] Files +
                + +
              • + + layouts/ + + dashboard_base.html +
              • + +
              • + + unlocked.html +
              • + +
              • + + dashboard/ + + notifications.html +
              • + +
              • + + dashboard/ + + index.html +
              • + +
              • + + openurl/ + + 404.html +
              • + +
              • + + openurl/ + + help.html +
              • + +
              • + + publisher/ + + publisher_base.html +
              • + +
              • + + layouts/ + + single_col_page.html +
              • + +
              • + + layouts/ + + public_base.html +
              • + +
              • + + layouts/ + + toc_base.html +
              • + +
              • + + admin/ + + admin_base.html +
              • + +
              • + + editor/ + + editor_base.html +
              • + +
              • + + doaj/ + + contact.html +
              • + +
              • + + doaj/ + + articles_search.html +
              • + +
              • + + doaj/ + + journals_search.html +
              • + +
              • + + doaj/ + + article.html +
              • + +
              • + + api/ + + current/ + + api_docs.html +
              • + +
              • + + application_form/ + + public_application.html +
              • + +
              • + + application_form/ + + maned_application.html +
              • + +
              • + + application_form/ + + maned_journal.html +
              • + +
              • + + application_form/ + + readonly_journal.html +
              • + +
              +
            • + +
            + +
          • + + + +
          • + content + + + + + + + + + + + + + +
              + +
            • [+] Blocks +
                + + +
              • + admin_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + admin/ + + admin_base.html +
                  • + +
                  • + + admin/ + + continuation.html +
                  • + +
                  • + + admin/ + + journal_locked.html +
                  • + +
                  • + + admin/ + + global_notifications_search.html +
                  • + +
                  • + + admin/ + + application_locked.html +
                  • + +
                  • + + admin/ + + applications.html +
                  • + +
                  • + + admin/ + + update_requests.html +
                  • + +
                  • + + admin/ + + editor_group.html +
                  • + +
                  • + + admin/ + + background_jobs_search.html +
                  • + +
                  • + + admin/ + + editor_group_search.html +
                  • + +
                  • + + admin/ + + article_metadata.html +
                  • + +
                  • + + admin/ + + index.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + editor_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + editor/ + + editor_base.html +
                  • + +
                  • + + editor/ + + group_journals.html +
                  • + +
                  • + + editor/ + + journal_locked.html +
                  • + +
                  • + + editor/ + + associate_applications.html +
                  • + +
                  • + + editor/ + + group_applications.html +
                  • + +
                  • + + editor/ + + application_locked.html +
                  • + +
                  • + + editor/ + + associate_journals.html +
                  • + +
                  • + + editor/ + + dashboard.html +
                  • + +
                  • + + application_form/ + + editor_application.html +
                  • + +
                  • + + application_form/ + + assed_application.html +
                  • + +
                  • + + application_form/ + + assed_journal.html +
                  • + +
                  • + + application_form/ + + editor_journal.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + publisher_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + publisher/ + + publisher_base.html +
                  • + +
                  • + + publisher/ + + locked.html +
                  • + +
                  • + + publisher/ + + updates_in_progress.html +
                  • + +
                  • + + publisher/ + + metadata.html +
                  • + +
                  • + + publisher/ + + readonly.html +
                  • + +
                  • + + publisher/ + + journals.html +
                  • + +
                  • + + publisher/ + + uploadmetadata.html +
                  • + +
                  • + + publisher/ + + preservation.html +
                  • + +
                  • + + publisher/ + + journal_csv.html +
                  • + +
                  • + + publisher/ + + help.html +
                  • + +
                  • + + publisher/ + + application_already_submitted.html +
                  • + +
                  • + + publisher/ + + index.html +
                  • + +
                  • + + application_form/ + + readonly_application.html +
                  • + +
                  • + + application_form/ + + publisher_update_request.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + single_col_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + single_col_page.html +
                  • + +
                  • + + 500.html +
                  • + +
                  • + + 401.html +
                  • + +
                  • + + 404.html +
                  • + +
                  • + + 400.html +
                  • + +
                  • + + publisher/ + + application_deleted.html +
                  • + +
                  • + + doaj/ + + readonly.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + title + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + single_col_page.html +
                  • + +
                  • + + 500.html +
                  • + +
                  • + + 401.html +
                  • + +
                  • + + 404.html +
                  • + +
                  • + + 400.html +
                  • + +
                  • + + unlocked.html +
                  • + +
                  • + + publisher/ + + application_deleted.html +
                  • + +
                  • + + doaj/ + + readonly.html +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + toc_content + + + + + + + + + + + + + +
                  + + +
                • [+] Files +
                    + +
                  • + + layouts/ + + toc_base.html +
                  • + +
                  • + + doaj/ + + toc.html +
                  • + +
                  • + + doaj/ + + toc_articles.html +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + +
            • [+] Files +
                + +
              • + + layouts/ + + public_base.html +
              • + +
              • + + unlocked.html +
              • + +
              • + + dashboard/ + + notifications.html +
              • + +
              • + + dashboard/ + + index.html +
              • + +
              • + + openurl/ + + 404.html +
              • + +
              • + + openurl/ + + help.html +
              • + +
              • + + publisher/ + + publisher_base.html +
              • + +
              • + + layouts/ + + single_col_page.html +
              • + +
              • + + layouts/ + + dashboard_base.html +
              • + +
              • + + layouts/ + + toc_base.html +
              • + +
              • + + admin/ + + admin_base.html +
              • + +
              • + + editor/ + + editor_base.html +
              • + +
              • + + doaj/ + + contact.html +
              • + +
              • + + doaj/ + + articles_search.html +
              • + +
              • + + doaj/ + + journals_search.html +
              • + +
              • + + doaj/ + + article.html +
              • + +
              • + + api/ + + current/ + + api_docs.html +
              • + +
              • + + application_form/ + + public_application.html +
              • + +
              • + + application_form/ + + maned_application.html +
              • + +
              • + + application_form/ + + maned_journal.html +
              • + +
              • + + application_form/ + + readonly_journal.html +
              • + +
              +
            • + +
            + +
          • + + + +
          • + page_title + + + + + + + + + + + + + +
              + + +
            • [+] Files +
                + +
              • + + layouts/ + + dashboard_base.html +
              • + +
              • + + 500.html +
              • + +
              • + + 401.html +
              • + +
              • + + 404.html +
              • + +
              • + + 400.html +
              • + +
              • + + unlocked.html +
              • + +
              • + + publisher/ + + locked.html +
              • + +
              • + + publisher/ + + updates_in_progress.html +
              • + +
              • + + publisher/ + + metadata.html +
              • + +
              • + + publisher/ + + readonly.html +
              • + +
              • + + publisher/ + + journals.html +
              • + +
              • + + publisher/ + + uploadmetadata.html +
              • + +
              • + + publisher/ + + preservation.html +
              • + +
              • + + publisher/ + + journal_csv.html +
              • + +
              • + + publisher/ + + application_deleted.html +
              • + +
              • + + publisher/ + + help.html +
              • + +
              • + + publisher/ + + index.html +
              • + +
              • + + publisher/ + + publisher_base.html +
              • + +
              • + + layouts/ + + base.html +
              • + +
              • + + layouts/ + + toc_base.html +
              • + +
              • + + admin/ + + continuation.html +
              • + +
              • + + admin/ + + journal_locked.html +
              • + +
              • + + admin/ + + global_notifications_search.html +
              • + +
              • + + admin/ + + application_locked.html +
              • + +
              • + + admin/ + + applications.html +
              • + +
              • + + admin/ + + update_requests.html +
              • + +
              • + + admin/ + + editor_group.html +
              • + +
              • + + admin/ + + background_jobs_search.html +
              • + +
              • + + admin/ + + editor_group_search.html +
              • + +
              • + + admin/ + + article_metadata.html +
              • + +
              • + + admin/ + + index.html +
              • + +
              • + + editor/ + + group_journals.html +
              • + +
              • + + editor/ + + journal_locked.html +
              • + +
              • + + editor/ + + associate_applications.html +
              • + +
              • + + editor/ + + group_applications.html +
              • + +
              • + + editor/ + + application_locked.html +
              • + +
              • + + editor/ + + associate_journals.html +
              • + +
              • + + doaj/ + + readonly.html +
              • + +
              • + + doaj/ + + articles_search.html +
              • + +
              • + + doaj/ + + journals_search.html +
              • + +
              • + + doaj/ + + article.html +
              • + +
              • + + api/ + + current/ + + api_docs.html +
              • + +
              • + + application_form/ + + editor_application.html +
              • + +
              • + + application_form/ + + public_application.html +
              • + +
              • + + application_form/ + + readonly_application.html +
              • + +
              • + + application_form/ + + maned_application.html +
              • + +
              • + + application_form/ + + maned_journal.html +
              • + +
              • + + application_form/ + + assed_application.html +
              • + +
              • + + application_form/ + + assed_journal.html +
              • + +
              • + + application_form/ + + editor_journal.html +
              • + +
              • + + application_form/ + + publisher_update_request.html +
              • + +
              • + + application_form/ + + readonly_journal.html +
              • + +
              +
            • + +
            + +
          • + + +
          +
        • + + +
        • [+] Files +
            + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          • + + layouts/ + + public_base.html +
          • + +
          +
        • + +
        + +
      • + + + +
      • + nav + + + + + + + + + + + + + +
          + + +
        • [+] Files +
            + +
          • + + layouts/ + + dashboard_base.html +
          • + +
          • + + admin/ + + admin_base.html +
          • + +
          • + + editor/ + + editor_base.html +
          • + +
          +
        • + +
        + +
      • + + +
      +
    • + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + layouts/ + + public_base.html +
      • + +
      • + + layouts/ + + dashboard_base.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + extra_meta_tags + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + doaj/ + + article.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + extra_stylesheets + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + publisher/ + + publisher_base.html +
      • + +
      • + + admin/ + + admin_base.html +
      • + +
      • + + editor/ + + editor_base.html +
      • + +
      • + + api/ + + current/ + + api_docs.html +
      • + +
      • + + application_form/ + + publisher_update_request.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + meta_description + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + layouts/ + + toc_base.html +
      • + +
      • + + doaj/ + + articles_search.html +
      • + +
      • + + doaj/ + + journals_search.html +
      • + +
      • + + doaj/ + + article.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + meta_og_description + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + layouts/ + + toc_base.html +
      • + +
      • + + doaj/ + + articles_search.html +
      • + +
      • + + doaj/ + + journals_search.html +
      • + +
      • + + doaj/ + + article.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + meta_og_title + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + layouts/ + + toc_base.html +
      • + +
      • + + doaj/ + + articles_search.html +
      • + +
      • + + doaj/ + + journals_search.html +
      • + +
      • + + doaj/ + + article.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + meta_twitter_description + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + layouts/ + + toc_base.html +
      • + +
      • + + doaj/ + + articles_search.html +
      • + +
      • + + doaj/ + + journals_search.html +
      • + +
      • + + doaj/ + + article.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + meta_twitter_title + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + layouts/ + + toc_base.html +
      • + +
      • + + doaj/ + + articles_search.html +
      • + +
      • + + doaj/ + + journals_search.html +
      • + +
      • + + doaj/ + + article.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + page_title + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + layouts/ + + base.html +
      • + +
      • + + 500.html +
      • + +
      • + + 401.html +
      • + +
      • + + 404.html +
      • + +
      • + + 400.html +
      • + +
      • + + unlocked.html +
      • + +
      • + + publisher/ + + locked.html +
      • + +
      • + + publisher/ + + updates_in_progress.html +
      • + +
      • + + publisher/ + + metadata.html +
      • + +
      • + + publisher/ + + readonly.html +
      • + +
      • + + publisher/ + + journals.html +
      • + +
      • + + publisher/ + + uploadmetadata.html +
      • + +
      • + + publisher/ + + preservation.html +
      • + +
      • + + publisher/ + + journal_csv.html +
      • + +
      • + + publisher/ + + application_deleted.html +
      • + +
      • + + publisher/ + + help.html +
      • + +
      • + + publisher/ + + index.html +
      • + +
      • + + publisher/ + + publisher_base.html +
      • + +
      • + + layouts/ + + dashboard_base.html +
      • + +
      • + + layouts/ + + toc_base.html +
      • + +
      • + + admin/ + + continuation.html +
      • + +
      • + + admin/ + + journal_locked.html +
      • + +
      • + + admin/ + + global_notifications_search.html +
      • + +
      • + + admin/ + + application_locked.html +
      • + +
      • + + admin/ + + applications.html +
      • + +
      • + + admin/ + + update_requests.html +
      • + +
      • + + admin/ + + editor_group.html +
      • + +
      • + + admin/ + + background_jobs_search.html +
      • + +
      • + + admin/ + + editor_group_search.html +
      • + +
      • + + admin/ + + article_metadata.html +
      • + +
      • + + admin/ + + index.html +
      • + +
      • + + editor/ + + group_journals.html +
      • + +
      • + + editor/ + + journal_locked.html +
      • + +
      • + + editor/ + + associate_applications.html +
      • + +
      • + + editor/ + + group_applications.html +
      • + +
      • + + editor/ + + application_locked.html +
      • + +
      • + + editor/ + + associate_journals.html +
      • + +
      • + + doaj/ + + readonly.html +
      • + +
      • + + doaj/ + + articles_search.html +
      • + +
      • + + doaj/ + + journals_search.html +
      • + +
      • + + doaj/ + + article.html +
      • + +
      • + + api/ + + current/ + + api_docs.html +
      • + +
      • + + application_form/ + + editor_application.html +
      • + +
      • + + application_form/ + + public_application.html +
      • + +
      • + + application_form/ + + readonly_application.html +
      • + +
      • + + application_form/ + + maned_application.html +
      • + +
      • + + application_form/ + + maned_journal.html +
      • + +
      • + + application_form/ + + assed_application.html +
      • + +
      • + + application_form/ + + assed_journal.html +
      • + +
      • + + application_form/ + + editor_journal.html +
      • + +
      • + + application_form/ + + publisher_update_request.html +
      • + +
      • + + application_form/ + + readonly_journal.html +
      • + +
      +
    • + +
    + +
  • + + + +
  • + pagination_menu + + + + + + + + + + + + + +
      + + +
    • [+] Files +
        + +
      • + + application_form/ + + pagination_menu_admin.html +
      • + +
      • + + application_form/ + + pagination_menu.html +
      • + +
      +
    • + +
    + +
  • + + +
+ + + + + + + \ No newline at end of file diff --git a/docs/redhead/templates/redhead_blocks.json b/docs/redhead/templates/redhead_blocks.json new file mode 100644 index 0000000000..a447720409 --- /dev/null +++ b/docs/redhead/templates/redhead_blocks.json @@ -0,0 +1,925 @@ +[ + { + "name": "base_content", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "files": [ + "layouts/public_base.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "layouts/dashboard_base.html", + "layouts/toc_base.html", + "doaj/article.html" + ] + }, + { + "name": "body_class", + "blocks": [], + "files": [ + "layouts/dashboard_base.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "layouts/public_base.html", + "layouts/toc_base.html", + "doaj/article.html" + ] + }, + { + "name": "body_id", + "blocks": [], + "files": [ + "layouts/dashboard_base.html", + "application_form/editor_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html" + ] + }, + { + "name": "extra_header", + "blocks": [], + "files": [ + "layouts/public_base.html", + "layouts/dashboard_base.html" + ] + }, + { + "name": "extra_header", + "blocks": [], + "files": [ + "layouts/dashboard_base.html", + "layouts/public_base.html" + ] + }, + { + "name": "extra_js_bottom", + "blocks": [], + "files": [ + "layouts/public_base.html", + "dashboard/notifications.html", + "dashboard/index.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/index.html", + "layouts/dashboard_base.html", + "admin/global_notifications_search.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html", + "editor/group_journals.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/associate_journals.html", + "editor/dashboard.html", + "doaj/contact.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/toc_articles.html", + "api/current/api_docs.html", + "application_form/editor_application.html", + "application_form/public_application.html", + "application_form/readonly_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html", + "application_form/publisher_update_request.html", + "application_form/readonly_journal.html" + ] + }, + { + "name": "extra_js_bottom", + "blocks": [], + "files": [ + "layouts/dashboard_base.html", + "dashboard/notifications.html", + "dashboard/index.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/index.html", + "layouts/public_base.html", + "admin/global_notifications_search.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html", + "editor/group_journals.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/associate_journals.html", + "editor/dashboard.html", + "doaj/contact.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/toc_articles.html", + "api/current/api_docs.html", + "application_form/editor_application.html", + "application_form/public_application.html", + "application_form/readonly_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html", + "application_form/publisher_update_request.html", + "application_form/readonly_journal.html" + ] + }, + { + "name": "main_panel", + "blocks": [ + { + "name": "content", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "files": [ + "admin/admin_base.html", + "admin/continuation.html", + "admin/journal_locked.html", + "admin/global_notifications_search.html", + "admin/application_locked.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html" + ] + }, + { + "name": "editor_content", + "blocks": [], + "files": [ + "editor/editor_base.html", + "editor/group_journals.html", + "editor/journal_locked.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/application_locked.html", + "editor/associate_journals.html", + "editor/dashboard.html", + "application_form/editor_application.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html" + ] + }, + { + "name": "publisher_content", + "blocks": [], + "files": [ + "publisher/publisher_base.html", + "publisher/locked.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/readonly.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/help.html", + "publisher/application_already_submitted.html", + "publisher/index.html", + "application_form/readonly_application.html", + "application_form/publisher_update_request.html" + ] + }, + { + "name": "single_col_content", + "blocks": [], + "files": [ + "layouts/single_col_page.html", + "500.html", + "401.html", + "404.html", + "400.html", + "publisher/application_deleted.html", + "doaj/readonly.html" + ] + }, + { + "name": "title", + "blocks": [], + "files": [ + "layouts/single_col_page.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "publisher/application_deleted.html", + "doaj/readonly.html" + ] + }, + { + "name": "toc_content", + "blocks": [], + "files": [ + "layouts/toc_base.html", + "doaj/toc.html", + "doaj/toc_articles.html" + ] + } + ], + "files": [ + "layouts/public_base.html", + "unlocked.html", + "dashboard/notifications.html", + "dashboard/index.html", + "openurl/404.html", + "openurl/help.html", + "publisher/publisher_base.html", + "layouts/single_col_page.html", + "layouts/dashboard_base.html", + "layouts/toc_base.html", + "admin/admin_base.html", + "editor/editor_base.html", + "doaj/contact.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html", + "api/current/api_docs.html", + "application_form/public_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/readonly_journal.html" + ] + }, + { + "name": "content", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "files": [ + "admin/admin_base.html", + "admin/continuation.html", + "admin/journal_locked.html", + "admin/global_notifications_search.html", + "admin/application_locked.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html" + ] + }, + { + "name": "editor_content", + "blocks": [], + "files": [ + "editor/editor_base.html", + "editor/group_journals.html", + "editor/journal_locked.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/application_locked.html", + "editor/associate_journals.html", + "editor/dashboard.html", + "application_form/editor_application.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html" + ] + }, + { + "name": "publisher_content", + "blocks": [], + "files": [ + "publisher/publisher_base.html", + "publisher/locked.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/readonly.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/help.html", + "publisher/application_already_submitted.html", + "publisher/index.html", + "application_form/readonly_application.html", + "application_form/publisher_update_request.html" + ] + }, + { + "name": "single_col_content", + "blocks": [], + "files": [ + "layouts/single_col_page.html", + "500.html", + "401.html", + "404.html", + "400.html", + "publisher/application_deleted.html", + "doaj/readonly.html" + ] + }, + { + "name": "title", + "blocks": [], + "files": [ + "layouts/single_col_page.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "publisher/application_deleted.html", + "doaj/readonly.html" + ] + }, + { + "name": "toc_content", + "blocks": [], + "files": [ + "layouts/toc_base.html", + "doaj/toc.html", + "doaj/toc_articles.html" + ] + } + ], + "files": [ + "layouts/dashboard_base.html", + "unlocked.html", + "dashboard/notifications.html", + "dashboard/index.html", + "openurl/404.html", + "openurl/help.html", + "publisher/publisher_base.html", + "layouts/single_col_page.html", + "layouts/public_base.html", + "layouts/toc_base.html", + "admin/admin_base.html", + "editor/editor_base.html", + "doaj/contact.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html", + "api/current/api_docs.html", + "application_form/public_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/readonly_journal.html" + ] + }, + { + "name": "page_title", + "blocks": [], + "files": [ + "layouts/dashboard_base.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "publisher/locked.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/readonly.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/application_deleted.html", + "publisher/help.html", + "publisher/index.html", + "publisher/publisher_base.html", + "layouts/base.html", + "layouts/toc_base.html", + "admin/continuation.html", + "admin/journal_locked.html", + "admin/global_notifications_search.html", + "admin/application_locked.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html", + "editor/group_journals.html", + "editor/journal_locked.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/application_locked.html", + "editor/associate_journals.html", + "doaj/readonly.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html", + "api/current/api_docs.html", + "application_form/editor_application.html", + "application_form/public_application.html", + "application_form/readonly_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html", + "application_form/publisher_update_request.html", + "application_form/readonly_journal.html" + ] + } + ], + "files": [ + "layouts/public_base.html", + "layouts/dashboard_base.html" + ] + }, + { + "name": "main_panel", + "blocks": [ + { + "name": "content", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "files": [ + "admin/admin_base.html", + "admin/continuation.html", + "admin/journal_locked.html", + "admin/global_notifications_search.html", + "admin/application_locked.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html" + ] + }, + { + "name": "editor_content", + "blocks": [], + "files": [ + "editor/editor_base.html", + "editor/group_journals.html", + "editor/journal_locked.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/application_locked.html", + "editor/associate_journals.html", + "editor/dashboard.html", + "application_form/editor_application.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html" + ] + }, + { + "name": "publisher_content", + "blocks": [], + "files": [ + "publisher/publisher_base.html", + "publisher/locked.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/readonly.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/help.html", + "publisher/application_already_submitted.html", + "publisher/index.html", + "application_form/readonly_application.html", + "application_form/publisher_update_request.html" + ] + }, + { + "name": "single_col_content", + "blocks": [], + "files": [ + "layouts/single_col_page.html", + "500.html", + "401.html", + "404.html", + "400.html", + "publisher/application_deleted.html", + "doaj/readonly.html" + ] + }, + { + "name": "title", + "blocks": [], + "files": [ + "layouts/single_col_page.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "publisher/application_deleted.html", + "doaj/readonly.html" + ] + }, + { + "name": "toc_content", + "blocks": [], + "files": [ + "layouts/toc_base.html", + "doaj/toc.html", + "doaj/toc_articles.html" + ] + } + ], + "files": [ + "layouts/dashboard_base.html", + "unlocked.html", + "dashboard/notifications.html", + "dashboard/index.html", + "openurl/404.html", + "openurl/help.html", + "publisher/publisher_base.html", + "layouts/single_col_page.html", + "layouts/public_base.html", + "layouts/toc_base.html", + "admin/admin_base.html", + "editor/editor_base.html", + "doaj/contact.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html", + "api/current/api_docs.html", + "application_form/public_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/readonly_journal.html" + ] + }, + { + "name": "content", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "files": [ + "admin/admin_base.html", + "admin/continuation.html", + "admin/journal_locked.html", + "admin/global_notifications_search.html", + "admin/application_locked.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html" + ] + }, + { + "name": "editor_content", + "blocks": [], + "files": [ + "editor/editor_base.html", + "editor/group_journals.html", + "editor/journal_locked.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/application_locked.html", + "editor/associate_journals.html", + "editor/dashboard.html", + "application_form/editor_application.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html" + ] + }, + { + "name": "publisher_content", + "blocks": [], + "files": [ + "publisher/publisher_base.html", + "publisher/locked.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/readonly.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/help.html", + "publisher/application_already_submitted.html", + "publisher/index.html", + "application_form/readonly_application.html", + "application_form/publisher_update_request.html" + ] + }, + { + "name": "single_col_content", + "blocks": [], + "files": [ + "layouts/single_col_page.html", + "500.html", + "401.html", + "404.html", + "400.html", + "publisher/application_deleted.html", + "doaj/readonly.html" + ] + }, + { + "name": "title", + "blocks": [], + "files": [ + "layouts/single_col_page.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "publisher/application_deleted.html", + "doaj/readonly.html" + ] + }, + { + "name": "toc_content", + "blocks": [], + "files": [ + "layouts/toc_base.html", + "doaj/toc.html", + "doaj/toc_articles.html" + ] + } + ], + "files": [ + "layouts/public_base.html", + "unlocked.html", + "dashboard/notifications.html", + "dashboard/index.html", + "openurl/404.html", + "openurl/help.html", + "publisher/publisher_base.html", + "layouts/single_col_page.html", + "layouts/dashboard_base.html", + "layouts/toc_base.html", + "admin/admin_base.html", + "editor/editor_base.html", + "doaj/contact.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html", + "api/current/api_docs.html", + "application_form/public_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/readonly_journal.html" + ] + }, + { + "name": "page_title", + "blocks": [], + "files": [ + "layouts/dashboard_base.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "publisher/locked.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/readonly.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/application_deleted.html", + "publisher/help.html", + "publisher/index.html", + "publisher/publisher_base.html", + "layouts/base.html", + "layouts/toc_base.html", + "admin/continuation.html", + "admin/journal_locked.html", + "admin/global_notifications_search.html", + "admin/application_locked.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html", + "editor/group_journals.html", + "editor/journal_locked.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/application_locked.html", + "editor/associate_journals.html", + "doaj/readonly.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html", + "api/current/api_docs.html", + "application_form/editor_application.html", + "application_form/public_application.html", + "application_form/readonly_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html", + "application_form/publisher_update_request.html", + "application_form/readonly_journal.html" + ] + } + ], + "files": [ + "layouts/dashboard_base.html", + "layouts/public_base.html" + ] + }, + { + "name": "nav", + "blocks": [], + "files": [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "editor/editor_base.html" + ] + } + ], + "files": [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/dashboard_base.html" + ] + }, + { + "name": "extra_meta_tags", + "blocks": [], + "files": [ + "layouts/base.html", + "doaj/article.html" + ] + }, + { + "name": "extra_stylesheets", + "blocks": [], + "files": [ + "layouts/base.html", + "publisher/publisher_base.html", + "admin/admin_base.html", + "editor/editor_base.html", + "api/current/api_docs.html", + "application_form/publisher_update_request.html" + ] + }, + { + "name": "meta_description", + "blocks": [], + "files": [ + "layouts/base.html", + "layouts/toc_base.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html" + ] + }, + { + "name": "meta_og_description", + "blocks": [], + "files": [ + "layouts/base.html", + "layouts/toc_base.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html" + ] + }, + { + "name": "meta_og_title", + "blocks": [], + "files": [ + "layouts/base.html", + "layouts/toc_base.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html" + ] + }, + { + "name": "meta_twitter_description", + "blocks": [], + "files": [ + "layouts/base.html", + "layouts/toc_base.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html" + ] + }, + { + "name": "meta_twitter_title", + "blocks": [], + "files": [ + "layouts/base.html", + "layouts/toc_base.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html" + ] + }, + { + "name": "page_title", + "blocks": [], + "files": [ + "layouts/base.html", + "500.html", + "401.html", + "404.html", + "400.html", + "unlocked.html", + "publisher/locked.html", + "publisher/updates_in_progress.html", + "publisher/metadata.html", + "publisher/readonly.html", + "publisher/journals.html", + "publisher/uploadmetadata.html", + "publisher/preservation.html", + "publisher/journal_csv.html", + "publisher/application_deleted.html", + "publisher/help.html", + "publisher/index.html", + "publisher/publisher_base.html", + "layouts/dashboard_base.html", + "layouts/toc_base.html", + "admin/continuation.html", + "admin/journal_locked.html", + "admin/global_notifications_search.html", + "admin/application_locked.html", + "admin/applications.html", + "admin/update_requests.html", + "admin/editor_group.html", + "admin/background_jobs_search.html", + "admin/editor_group_search.html", + "admin/article_metadata.html", + "admin/index.html", + "editor/group_journals.html", + "editor/journal_locked.html", + "editor/associate_applications.html", + "editor/group_applications.html", + "editor/application_locked.html", + "editor/associate_journals.html", + "doaj/readonly.html", + "doaj/articles_search.html", + "doaj/journals_search.html", + "doaj/article.html", + "api/current/api_docs.html", + "application_form/editor_application.html", + "application_form/public_application.html", + "application_form/readonly_application.html", + "application_form/maned_application.html", + "application_form/maned_journal.html", + "application_form/assed_application.html", + "application_form/assed_journal.html", + "application_form/editor_journal.html", + "application_form/publisher_update_request.html", + "application_form/readonly_journal.html" + ] + }, + { + "name": "pagination_menu", + "blocks": [], + "files": [ + "application_form/pagination_menu_admin.html", + "application_form/pagination_menu.html" + ] + } +] \ No newline at end of file diff --git a/docs/redhead/templates/redhead_records.json b/docs/redhead/templates/redhead_records.json new file mode 100644 index 0000000000..3588b28fdb --- /dev/null +++ b/docs/redhead/templates/redhead_records.json @@ -0,0 +1,3515 @@ +[ + { + "type": "template", + "file": "_edges_common_css.html" + }, + { + "type": "template", + "file": "500.html", + "blocks": [ + "body_class", + "page_title", + "title", + "single_col_content" + ], + "extends": [ + "layouts/single_col_page.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "500.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "500.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "title", + "file": "500.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "single_col_content", + "file": "500.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "401.html", + "blocks": [ + "body_class", + "page_title", + "title", + "single_col_content" + ], + "extends": [ + "layouts/single_col_page.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "401.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "401.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "title", + "file": "401.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "single_col_content", + "file": "401.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "404.html", + "blocks": [ + "body_class", + "page_title", + "title", + "single_col_content" + ], + "extends": [ + "layouts/single_col_page.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "404.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "404.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "title", + "file": "404.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "single_col_content", + "file": "404.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "_edges_common_js.html" + }, + { + "type": "template", + "file": "400.html", + "blocks": [ + "body_class", + "page_title", + "title", + "single_col_content" + ], + "extends": [ + "layouts/single_col_page.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "400.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "400.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "title", + "file": "400.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "single_col_content", + "file": "400.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "_formhelpers.html" + }, + { + "type": "template", + "file": "unlocked.html", + "blocks": [ + "body_class", + "page_title", + "title", + "content" + ], + "extends": [ + "layouts/dashboard_base.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "unlocked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "unlocked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "title", + "file": "unlocked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "unlocked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "_js_includes.html" + }, + { + "type": "template", + "file": "dashboard/nav.html" + }, + { + "type": "template", + "file": "dashboard/notifications.html", + "blocks": [ + "content", + "extra_js_bottom" + ], + "extends": [ + "layouts/dashboard_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "dashboard/notifications.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "dashboard/notifications.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "dashboard/_todo.html" + }, + { + "type": "template", + "file": "dashboard/index.html", + "blocks": [ + "content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "dashboard/index.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "dashboard/_todo.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "dashboard/index.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "includes/_hotjar.html" + ] + }, + { + "type": "template", + "file": "email/script_tag_detected.jinja2" + }, + { + "type": "template", + "file": "email/notification_email.jinja2" + }, + { + "type": "template", + "file": "email/editor_application_assigned_group.jinja2" + }, + { + "type": "template", + "file": "email/admin_background_job_finished.jinja2" + }, + { + "type": "template", + "file": "email/publisher_update_request_revisions.jinja2" + }, + { + "type": "template", + "file": "email/assoc_editor_application_assigned.jinja2" + }, + { + "type": "template", + "file": "email/publisher_update_request_inprogress.jinja2" + }, + { + "type": "template", + "file": "email/publisher_application_editor_assigned.jinja2" + }, + { + "type": "template", + "file": "email/publisher_application_accepted.jinja2" + }, + { + "type": "template", + "file": "email/account_password_reset.jinja2" + }, + { + "type": "template", + "file": "email/editor_application_completed.jinja2" + }, + { + "type": "template", + "file": "email/publisher_update_request_rejected.jinja2" + }, + { + "type": "template", + "file": "email/publisher_application_received.jinja2" + }, + { + "type": "template", + "file": "email/account_created.jinja2" + }, + { + "type": "template", + "file": "email/publisher_application_inprogress.jinja2" + }, + { + "type": "template", + "file": "email/admin_application_ready.jinja2" + }, + { + "type": "template", + "file": "email/publisher_application_rejected.jinja2" + }, + { + "type": "template", + "file": "email/publisher_update_request_editor_assigned.jinja2" + }, + { + "type": "template", + "file": "email/publisher_update_request_received.jinja2" + }, + { + "type": "template", + "file": "email/discontinue_soon.jinja2" + }, + { + "type": "template", + "file": "email/editor_journal_assigned_group.jinja2" + }, + { + "type": "template", + "file": "email/assoc_editor_journal_assigned.jinja2" + }, + { + "type": "template", + "file": "email/publisher_update_request_accepted.jinja2" + }, + { + "type": "template", + "file": "email/assoc_editor_application_inprogress.jinja2" + }, + { + "type": "template", + "file": "email/editor_application_inprogress.jinja2" + }, + { + "type": "template", + "file": "email/workflow_reminder_fragments/assoc_ed_age_frag" + }, + { + "type": "template", + "file": "email/workflow_reminder_fragments/editor_age_frag" + }, + { + "type": "template", + "file": "email/workflow_reminder_fragments/admin_age_frag" + }, + { + "type": "template", + "file": "email/workflow_reminder_fragments/admin_ready_frag" + }, + { + "type": "template", + "file": "email/workflow_reminder_fragments/editor_groupcount_frag" + }, + { + "type": "template", + "file": "openurl/404.html", + "blocks": [ + "content" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "openurl/404.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "openurl/help.html", + "blocks": [ + "content" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "openurl/help.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "formcontext/_error_header.html" + }, + { + "type": "template", + "file": "formcontext/article_metadata_form.html" + }, + { + "type": "template", + "file": "publisher/locked.html", + "blocks": [ + "page_title", + "publisher_content" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/updates_in_progress.html", + "blocks": [ + "page_title", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/updates_in_progress.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/updates_in_progress.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "publisher/updates_in_progress.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "publisher/nav.html" + }, + { + "type": "template", + "file": "publisher/metadata.html", + "blocks": [ + "page_title", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/metadata.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/metadata.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "formcontext/_error_header.html", + "_formhelpers.html", + "_formhelpers.html", + "formcontext/article_metadata_form.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "publisher/metadata.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/readonly.html", + "blocks": [ + "page_title", + "publisher_content" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/readonly.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/readonly.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/journals.html", + "blocks": [ + "page_title", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/journals.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/journals.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "publisher/journals.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "publisher/uploadmetadata.html", + "blocks": [ + "page_title", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/uploadmetadata.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/uploadmetadata.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "publisher/uploadmetadata.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/preservation.html", + "blocks": [ + "page_title", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/preservation.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/preservation.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "publisher/preservation.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/journal_csv.html", + "blocks": [ + "page_title", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/journal_csv.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/journal_csv.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "publisher/journal_csv.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/application_deleted.html", + "blocks": [ + "page_title", + "title", + "single_col_content" + ], + "extends": [ + "layouts/single_col_page.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/application_deleted.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "title", + "file": "publisher/application_deleted.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "single_col_content", + "file": "publisher/application_deleted.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/help.html", + "blocks": [ + "page_title", + "publisher_content" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/help.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/help.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/application_already_submitted.html", + "blocks": [ + "publisher_content" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/application_already_submitted.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "publisher/index.html", + "blocks": [ + "page_title", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/index.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/index.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "publisher/index.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "publisher/publisher_base.html", + "blocks": [ + "extra_stylesheets", + "page_title", + "content" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "extra_stylesheets", + "file": "publisher/publisher_base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "publisher/publisher_base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "publisher/publisher_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "publisher_content" + ], + "includes": [ + "publisher/nav.html", + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "publisher_content", + "file": "publisher/publisher_base.html", + "parent_block": "content", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "layouts/single_col_page.html", + "blocks": [ + "content" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "layouts/single_col_page.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "title", + "single_col_content" + ] + }, + { + "type": "block", + "name": "title", + "file": "layouts/single_col_page.html", + "parent_block": "content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "single_col_content", + "file": "layouts/single_col_page.html", + "parent_block": "content", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "layouts/public_base.html", + "blocks": [ + "base_content" + ], + "extends": [ + "layouts/base.html" + ] + }, + { + "type": "block", + "name": "base_content", + "file": "layouts/public_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "body_class", + "extra_header", + "main_panel", + "extra_js_bottom" + ], + "includes": [ + "includes/header.html", + "includes/_flash_notification.html", + "includes/_quick_search_modal.html", + "includes/footer.html", + "_js_includes.html" + ], + "dynamic_includes": [ + "config.get(\"SITE_NOTE_TEMPLATE\")" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "layouts/public_base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "extra_header", + "file": "layouts/public_base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "main_panel", + "file": "layouts/public_base.html", + "parent_block": "base_content", + "content": true, + "scoped": false, + "blocks": [ + "content" + ] + }, + { + "type": "block", + "name": "content", + "file": "layouts/public_base.html", + "parent_block": "main_panel", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "layouts/public_base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "layouts/dashboard_base.html", + "blocks": [ + "base_content" + ], + "extends": [ + "layouts/base.html" + ] + }, + { + "type": "block", + "name": "base_content", + "file": "layouts/dashboard_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "body_class", + "body_id", + "nav", + "extra_header", + "main_panel", + "extra_js_bottom" + ], + "dynamic_includes": [ + "config.get(\"SITE_NOTE_TEMPLATE\")" + ], + "includes": [ + "includes/svg/doaj-icon.svg", + "includes/_tourist_nav.html", + "_js_includes.html", + "includes/_tourist.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "layouts/dashboard_base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "body_id", + "file": "layouts/dashboard_base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "nav", + "file": "layouts/dashboard_base.html", + "parent_block": "base_content", + "content": true, + "scoped": false, + "includes": [ + "dashboard/nav.html" + ] + }, + { + "type": "block", + "name": "extra_header", + "file": "layouts/dashboard_base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "main_panel", + "file": "layouts/dashboard_base.html", + "parent_block": "base_content", + "content": true, + "scoped": false, + "blocks": [ + "page_title", + "content" + ], + "includes": [ + "includes/_flash_notification.html", + "includes/_back-to-top.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "layouts/dashboard_base.html", + "parent_block": "main_panel", + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "layouts/dashboard_base.html", + "parent_block": "main_panel", + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "layouts/dashboard_base.html", + "parent_block": "base_content", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "layouts/base.html", + "blocks": [ + "page_title", + "meta_description", + "meta_og_title", + "meta_og_description", + "meta_twitter_title", + "meta_twitter_description", + "extra_meta_tags", + "extra_stylesheets", + "base_content" + ], + "includes": [ + "doaj/cookie_consent.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "layouts/base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_description", + "file": "layouts/base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_title", + "file": "layouts/base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_description", + "file": "layouts/base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_title", + "file": "layouts/base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_description", + "file": "layouts/base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_meta_tags", + "file": "layouts/base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "extra_stylesheets", + "file": "layouts/base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "block", + "name": "base_content", + "file": "layouts/base.html", + "parent_block": null, + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "layouts/toc_base.html", + "blocks": [ + "body_class", + "page_title", + "meta_og_title", + "meta_twitter_title", + "meta_description", + "meta_og_description", + "meta_twitter_description", + "content" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "layouts/toc_base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "layouts/toc_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_journal_meta_title.html" + ] + }, + { + "type": "block", + "name": "meta_og_title", + "file": "layouts/toc_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_journal_meta_title.html" + ] + }, + { + "type": "block", + "name": "meta_twitter_title", + "file": "layouts/toc_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_journal_meta_title.html" + ] + }, + { + "type": "block", + "name": "meta_description", + "file": "layouts/toc_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_journal_meta_description.html" + ] + }, + { + "type": "block", + "name": "meta_og_description", + "file": "layouts/toc_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_journal_meta_description.html" + ] + }, + { + "type": "block", + "name": "meta_twitter_description", + "file": "layouts/toc_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_journal_meta_description.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "layouts/toc_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "toc_content" + ], + "includes": [ + "includes/svg/seal.svg", + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "toc_content", + "file": "layouts/toc_base.html", + "parent_block": "content", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "includes/_tourist_nav.html" + }, + { + "type": "template", + "file": "includes/_sidenav_donation.html" + }, + { + "type": "template", + "file": "includes/header-primary-navigation.html" + }, + { + "type": "template", + "file": "includes/footer.html", + "includes": [ + "includes/_nav_modals.html", + "includes/_back-to-top.html", + "includes/footer-column.html", + "includes/svg/logo.svg", + "includes/menu-items.html", + "includes/menu-items.html", + "includes/svg/cc.svg", + "includes/svg/by.svg", + "includes/svg/sa.svg", + "includes/svg/cc.svg", + "includes/svg/zero.svg" + ] + }, + { + "type": "template", + "file": "includes/_header-secondary-navigation-account.html" + }, + { + "type": "template", + "file": "includes/footer-column.html", + "includes": [ + "includes/menu-items.html" + ] + }, + { + "type": "template", + "file": "includes/search-help-modal.html" + }, + { + "type": "template", + "file": "includes/_todo_item.html" + }, + { + "type": "template", + "file": "includes/menu-items.html", + "dynamic_includes": [ + "entry.include" + ] + }, + { + "type": "template", + "file": "includes/_aside_in_case_of_rejection.html" + }, + { + "type": "template", + "file": "includes/contribution_rates.html" + }, + { + "type": "template", + "file": "includes/header-secondary-navigation.html" + }, + { + "type": "template", + "file": "includes/_hotjar.html" + }, + { + "type": "template", + "file": "includes/header.html", + "includes": [ + "includes/svg/logo.svg", + "includes/header-primary-navigation.html", + "includes/header-secondary-navigation.html", + "includes/header-secondary-navigation.html", + "includes/_header-secondary-navigation-account.html", + "includes/_header-secondary-navigation-account.html" + ] + }, + { + "type": "template", + "file": "includes/_wechat_modal.html" + }, + { + "type": "template", + "file": "includes/_back-to-top.html" + }, + { + "type": "template", + "file": "includes/_flash_notification.html" + }, + { + "type": "template", + "file": "includes/_nav_modals.html", + "dynamic_includes": [ + "entry.modal.include" + ] + }, + { + "type": "template", + "file": "includes/_tourist.html" + }, + { + "type": "template", + "file": "includes/_quick_search_modal.html" + }, + { + "type": "template", + "file": "includes/_sidenav_toc.html" + }, + { + "type": "template", + "file": "admin/continuation.html", + "blocks": [ + "page_title", + "admin_content" + ], + "extends": [ + "admin/admin_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/continuation.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/continuation.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_formhelpers.html", + "_formhelpers.html" + ] + }, + { + "type": "template", + "file": "admin/journal_locked.html", + "blocks": [ + "page_title", + "admin_content" + ], + "extends": [ + "admin/admin_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/journal_locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/journal_locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "admin/global_notifications_search.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/global_notifications_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/global_notifications_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "admin/global_notifications_search.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "admin/application_locked.html", + "blocks": [ + "page_title", + "admin_content" + ], + "extends": [ + "admin/admin_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/application_locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/application_locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "admin/applications.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/applications.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/applications.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "management/admin/includes/_applications_and_update_requests_common.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "admin/applications.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "management/admin/includes/_applications_and_update_requests_common_js.html" + ] + }, + { + "type": "template", + "file": "admin/update_requests.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/update_requests.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/update_requests.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "management/admin/includes/_applications_and_update_requests_common.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "admin/update_requests.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "management/admin/includes/_applications_and_update_requests_common_js.html" + ] + }, + { + "type": "template", + "file": "admin/editor_group.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/editor_group.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/editor_group.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "formcontext/_error_header.html", + "_formhelpers.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "admin/editor_group.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "admin/background_jobs_search.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/background_jobs_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/background_jobs_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "admin/background_jobs_search.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "admin/editor_group_search.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/editor_group_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/editor_group_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "admin/editor_group_search.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "admin/article_metadata.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/article_metadata.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/article_metadata.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "formcontext/_error_header.html", + "_formhelpers.html", + "_formhelpers.html", + "formcontext/article_metadata_form.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "admin/article_metadata.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "admin/index.html", + "blocks": [ + "page_title", + "admin_content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "admin/index.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/index.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "admin/index.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "admin/admin_base.html", + "blocks": [ + "extra_stylesheets", + "nav", + "content" + ], + "extends": [ + "layouts/dashboard_base.html" + ] + }, + { + "type": "block", + "name": "extra_stylesheets", + "file": "admin/admin_base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "nav", + "file": "admin/admin_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "dashboard/nav.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "admin/admin_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "admin_content" + ], + "includes": [ + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "admin_content", + "file": "admin/admin_base.html", + "parent_block": "content", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "editor/nav.html" + }, + { + "type": "template", + "file": "editor/group_journals.html", + "blocks": [ + "page_title", + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "editor/group_journals.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "editor/group_journals.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "editor/group_journals.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "editor/journal_locked.html", + "blocks": [ + "page_title", + "editor_content" + ], + "extends": [ + "editor/editor_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "editor/journal_locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "editor/journal_locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "editor/associate_applications.html", + "blocks": [ + "page_title", + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "editor/associate_applications.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "editor/associate_applications.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "editor/associate_applications.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "editor/group_applications.html", + "blocks": [ + "page_title", + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "editor/group_applications.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "editor/group_applications.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "editor/group_applications.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "editor/application_locked.html", + "blocks": [ + "page_title", + "editor_content" + ], + "extends": [ + "editor/editor_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "editor/application_locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "editor/application_locked.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "editor/associate_journals.html", + "blocks": [ + "page_title", + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ], + "includes": [ + "_edges_common_css.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "editor/associate_journals.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "editor/associate_journals.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "editor/associate_journals.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "editor/editor_base.html", + "blocks": [ + "extra_stylesheets", + "nav", + "content" + ], + "extends": [ + "layouts/dashboard_base.html" + ] + }, + { + "type": "block", + "name": "extra_stylesheets", + "file": "editor/editor_base.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "nav", + "file": "editor/editor_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "editor/nav.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "editor/editor_base.html", + "parent_block": null, + "content": true, + "scoped": false, + "blocks": [ + "editor_content" + ], + "includes": [ + "editor/nav.html", + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "editor_content", + "file": "editor/editor_base.html", + "parent_block": "content", + "content": false, + "scoped": false + }, + { + "type": "template", + "file": "editor/dashboard.html", + "blocks": [ + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ] + }, + { + "type": "block", + "name": "editor_content", + "file": "editor/dashboard.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "dashboard/_todo.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "editor/dashboard.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "doaj/contact.html", + "blocks": [ + "content", + "extra_js_bottom" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "content", + "file": "doaj/contact.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_formhelpers.html", + "_formhelpers.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "doaj/contact.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "doaj/readonly.html", + "blocks": [ + "page_title", + "title", + "single_col_content" + ], + "extends": [ + "layouts/single_col_page.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "doaj/readonly.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "title", + "file": "doaj/readonly.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "single_col_content", + "file": "doaj/readonly.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "doaj/cookie_consent.html" + }, + { + "type": "template", + "file": "doaj/articles_search.html", + "blocks": [ + "body_attrs", + "page_title", + "meta_og_title", + "meta_twitter_title", + "meta_description", + "meta_og_description", + "meta_twitter_description", + "content", + "extra_js_bottom" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "body_attrs", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_title", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_title", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_description", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_description", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_description", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "includes/search-help-modal.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "doaj/articles_search.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "doaj/site_note.html" + }, + { + "type": "template", + "file": "doaj/journals_search.html", + "blocks": [ + "body_attrs", + "page_title", + "meta_og_title", + "meta_twitter_title", + "meta_description", + "meta_og_description", + "meta_twitter_description", + "content", + "extra_js_bottom" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "body_attrs", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_title", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_title", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_description", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_og_description", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "meta_twitter_description", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "includes/search-help-modal.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "doaj/journals_search.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "doaj/toc.html", + "blocks": [ + "toc_content" + ], + "extends": [ + "layouts/toc_base.html" + ] + }, + { + "type": "block", + "name": "toc_content", + "file": "doaj/toc.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "includes/svg/cc.svg", + "includes/svg/by.svg", + "includes/svg/nc.svg", + "includes/svg/nd.svg", + "includes/svg/sa.svg", + "includes/svg/zero.svg", + "includes/svg/copyright.svg" + ] + }, + { + "type": "template", + "file": "doaj/toc_articles.html", + "blocks": [ + "toc_content", + "extra_js_bottom" + ], + "extends": [ + "layouts/toc_base.html" + ] + }, + { + "type": "block", + "name": "toc_content", + "file": "doaj/toc_articles.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "doaj/toc_articles.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "_edges_common_js.html" + ] + }, + { + "type": "template", + "file": "doaj/article.html", + "blocks": [ + "body_class", + "page_title", + "meta_og_title", + "meta_twitter_title", + "meta_description", + "meta_og_description", + "meta_twitter_description", + "extra_meta_tags", + "content" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "body_class", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "page_title", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_article_meta_title.html" + ] + }, + { + "type": "block", + "name": "meta_og_title", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_article_meta_title.html" + ] + }, + { + "type": "block", + "name": "meta_twitter_title", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_article_meta_title.html" + ] + }, + { + "type": "block", + "name": "meta_description", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_article_meta_description.html" + ] + }, + { + "type": "block", + "name": "meta_og_description", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_article_meta_description.html" + ] + }, + { + "type": "block", + "name": "meta_twitter_description", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "doaj/includes/_article_meta_description.html" + ] + }, + { + "type": "block", + "name": "extra_meta_tags", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "doaj/article.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "doaj/includes/_journal_meta_description.html" + }, + { + "type": "template", + "file": "doaj/includes/_article_meta_description.html" + }, + { + "type": "template", + "file": "doaj/includes/_journal_meta_title.html" + }, + { + "type": "template", + "file": "doaj/includes/_article_meta_title.html" + }, + { + "type": "template", + "file": "testdrive/testdrive.html" + }, + { + "type": "template", + "file": "data/ambassadors.html" + }, + { + "type": "template", + "file": "data/team.html" + }, + { + "type": "template", + "file": "data/publisher-supporters.html" + }, + { + "type": "template", + "file": "data/sponsors.html" + }, + { + "type": "template", + "file": "data/advisory-board-council.html" + }, + { + "type": "template", + "file": "data/volunteers.html" + }, + { + "type": "template", + "file": "api/current/extra_docs.html" + }, + { + "type": "template", + "file": "api/current/api_docs.html", + "blocks": [ + "page_title", + "extra_stylesheets", + "content", + "extra_js_bottom" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "api/current/api_docs.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_stylesheets", + "file": "api/current/api_docs.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "api/current/api_docs.html", + "parent_block": null, + "content": true, + "scoped": false, + "includes": [ + "api/current/swagger_description.html", + "api/current/extra_docs.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "api/current/api_docs.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "api/current/swagger_description.html" + }, + { + "type": "template", + "file": "application_form/_contact.html" + }, + { + "type": "template", + "file": "application_form/_edit_status.html" + }, + { + "type": "template", + "file": "application_form/_entry_group_horizontal.html" + }, + { + "type": "template", + "file": "application_form/editor_application.html", + "blocks": [ + "page_title", + "body_id", + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/editor_application.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "body_id", + "file": "application_form/editor_application.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "application_form/editor_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/editorial_form_body.html", + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/editor_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/public_application.html", + "blocks": [ + "page_title", + "content", + "extra_js_bottom" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/public_application.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "application_form/public_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/_backend_validation.html", + "application_form/_fieldsets.html", + "application_form/07-review/index.html", + "application_form/_buttons.html", + "application_form/pagination_menu.html", + "application_form/aside_menu.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/public_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/_fieldsets.html", + "includes": [ + "application_form/01-oa-compliance/index.html", + "application_form/02-about/index.html", + "application_form/03-copyright-licensing/index.html", + "application_form/04-editorial/index.html", + "application_form/05-business-model/index.html", + "application_form/06-best-practice/index.html" + ] + }, + { + "type": "template", + "file": "application_form/_form.html" + }, + { + "type": "template", + "file": "application_form/_entry_group.html" + }, + { + "type": "template", + "file": "application_form/readonly_application.html", + "blocks": [ + "page_title", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/readonly_application.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "application_form/readonly_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/_fieldsets.html", + "application_form/07-review/index.html", + "application_form/aside_menu.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/readonly_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/_field.html", + "includes": [ + "application_form/modal.html" + ] + }, + { + "type": "template", + "file": "application_form/maned_application.html", + "blocks": [ + "page_title", + "body_id", + "content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/maned_application.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "body_id", + "file": "application_form/maned_application.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "application_form/maned_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/editorial_form_body.html", + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/maned_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/editorial_form_fields.html", + "dynamic_includes": [ + "field_template" + ] + }, + { + "type": "template", + "file": "application_form/_buttons.html", + "blocks": [ + "buttons" + ] + }, + { + "type": "block", + "name": "buttons", + "file": "application_form/_buttons.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "application_form/editorial_side_panel.html", + "includes": [ + "application_form/_contact.html" + ], + "dynamic_includes": [ + "field_template", + "field_template" + ] + }, + { + "type": "template", + "file": "application_form/_application_diff.html" + }, + { + "type": "template", + "file": "application_form/pagination_menu.html", + "blocks": [ + "pagination_menu" + ] + }, + { + "type": "block", + "name": "pagination_menu", + "file": "application_form/pagination_menu.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "application_form/_list.html", + "dynamic_includes": [ + "entry_template", + "entry_template" + ], + "includes": [ + "application_form/modal.html" + ] + }, + { + "type": "template", + "file": "application_form/_value.html" + }, + { + "type": "template", + "file": "application_form/maned_journal_bulk_edit.html" + }, + { + "type": "template", + "file": "application_form/maned_journal.html", + "blocks": [ + "page_title", + "body_id", + "content", + "extra_js_bottom" + ], + "extends": [ + "admin/admin_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/maned_journal.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "body_id", + "file": "application_form/maned_journal.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "application_form/maned_journal.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/editorial_form_body.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/maned_journal.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/pagination_menu_admin.html", + "blocks": [ + "pagination_menu" + ] + }, + { + "type": "block", + "name": "pagination_menu", + "file": "application_form/pagination_menu_admin.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "application_form/editorial_form_body.html", + "includes": [ + "application_form/_edit_status.html", + "application_form/_backend_validation.html", + "application_form/_autochecks.html", + "application_form/_application_diff.html", + "application_form/editorial_form_fields.html", + "application_form/_fieldsets.html", + "application_form/editorial_side_panel.html", + "includes/_hotjar.html" + ] + }, + { + "type": "template", + "file": "application_form/aside_menu.html", + "blocks": [ + "aside_menu" + ] + }, + { + "type": "block", + "name": "aside_menu", + "file": "application_form/aside_menu.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "template", + "file": "application_form/assed_application.html", + "blocks": [ + "page_title", + "body_id", + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/assed_application.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "body_id", + "file": "application_form/assed_application.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "application_form/assed_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/editorial_form_body.html", + "includes/_hotjar.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/assed_application.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/_backend_validation.html" + }, + { + "type": "template", + "file": "application_form/_application_warning_msg.html" + }, + { + "type": "template", + "file": "application_form/_autochecks.html" + }, + { + "type": "template", + "file": "application_form/assed_journal.html", + "blocks": [ + "page_title", + "body_id", + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/assed_journal.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "body_id", + "file": "application_form/assed_journal.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "application_form/assed_journal.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/editorial_form_body.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/assed_journal.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/_group.html", + "includes": [ + "application_form/modal.html" + ] + }, + { + "type": "template", + "file": "application_form/editor_journal.html", + "blocks": [ + "page_title", + "body_id", + "editor_content", + "extra_js_bottom" + ], + "extends": [ + "editor/editor_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/editor_journal.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "body_id", + "file": "application_form/editor_journal.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "editor_content", + "file": "application_form/editor_journal.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/editorial_form_body.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/editor_journal.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/publisher_update_request.html", + "blocks": [ + "page_title", + "extra_stylesheets", + "publisher_content", + "extra_js_bottom" + ], + "extends": [ + "publisher/publisher_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/publisher_update_request.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "extra_stylesheets", + "file": "application_form/publisher_update_request.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "publisher_content", + "file": "application_form/publisher_update_request.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/_backend_validation.html", + "application_form/_fieldsets.html", + "application_form/07-review/index.html", + "application_form/_buttons.html", + "application_form/pagination_menu.html", + "application_form/aside_menu.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/publisher_update_request.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/modal.html" + }, + { + "type": "template", + "file": "application_form/readonly_journal.html", + "blocks": [ + "page_title", + "content", + "extra_js_bottom" + ], + "extends": [ + "layouts/public_base.html" + ] + }, + { + "type": "block", + "name": "page_title", + "file": "application_form/readonly_journal.html", + "parent_block": null, + "content": true, + "scoped": false + }, + { + "type": "block", + "name": "content", + "file": "application_form/readonly_journal.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/_fieldsets.html", + "application_form/07-review/index.html", + "application_form/aside_menu.html" + ] + }, + { + "type": "block", + "name": "extra_js_bottom", + "file": "application_form/readonly_journal.html", + "parent_block": null, + "content": true, + "scoped": true, + "includes": [ + "application_form/js/_form_js.html" + ] + }, + { + "type": "template", + "file": "application_form/readonly/journal.html" + }, + { + "type": "template", + "file": "application_form/02-about/index.html" + }, + { + "type": "template", + "file": "application_form/07-review/index.html" + }, + { + "type": "template", + "file": "application_form/06-best-practice/index.html" + }, + { + "type": "template", + "file": "application_form/01-oa-compliance/index.html" + }, + { + "type": "template", + "file": "application_form/03-copyright-licensing/index.html" + }, + { + "type": "template", + "file": "application_form/05-business-model/index.html" + }, + { + "type": "template", + "file": "application_form/04-editorial/index.html" + }, + { + "type": "template", + "file": "application_form/js/_form_js.html" + } +] \ No newline at end of file diff --git a/docs/redhead/templates/redhead_tree.html b/docs/redhead/templates/redhead_tree.html new file mode 100644 index 0000000000..c4ded7a4c9 --- /dev/null +++ b/docs/redhead/templates/redhead_tree.html @@ -0,0 +1,14413 @@ + + + + + Redhead: Jinja2 template structure browser + + + + + + + + + + + + +File Inheritance | Block Inheritance | + Records JSON | Tree JSON | Blocks JSON
+ +

File Inheritance

+ +Expand all | Collapse all + +
    + + +
  • + + + application_form/ + + _application_warning_msg.html + + +
  • + + + +
  • + + + application_form/ + + _entry_group.html + + +
  • + + + +
  • + + + application_form/ + + _entry_group_horizontal.html + + +
  • + + + +
  • + + + application_form/ + + _field.html + + +
      + + +
    • [+] Includes +
        + + +
      • + + + application_form/ + + modal.html + + +
      • + + +
      +
    • + + + +
    + +
  • + + + +
  • + + + application_form/ + + _form.html + + +
  • + + + +
  • + + + application_form/ + + _group.html + + +
      + + +
    • [+] Includes +
        + + +
      • + + + application_form/ + + modal.html + + +
      • + + +
      +
    • + + + +
    + +
  • + + + +
  • + + + application_form/ + + _list.html + + +
      + + +
    • [+] Includes +
        + + +
      • + + + application_form/ + + modal.html + + +
      • + + +
      +
    • + + +
    • [+] Dynamic Includes +
        + +
      • entry_template
      • + +
      • entry_template
      • + +
      +
    • + + +
    + +
  • + + + +
  • + + + application_form/ + + _value.html + + +
  • + + + +
  • + + + application_form/ + + maned_journal_bulk_edit.html + + +
  • + + + +
  • + + + application_form/ + + pagination_menu_admin.html + + +
      + +
    • [+] Blocks +
        + + +
      • + pagination_menu + + [Has Content] + [New Definition] + + + + + +
      • + + +
      +
    • + + + + +
    + +
  • + + + +
  • + + + application_form/ + + readonly/ + + journal.html + + +
  • + + + +
  • + + + data/ + + advisory-board-council.html + + +
  • + + + +
  • + + + data/ + + ambassadors.html + + +
  • + + + +
  • + + + data/ + + publisher-supporters.html + + +
  • + + + +
  • + + + data/ + + sponsors.html + + +
  • + + + +
  • + + + data/ + + team.html + + +
  • + + + +
  • + + + data/ + + volunteers.html + + +
  • + + + +
  • + + + doaj/ + + site_note.html + + +
  • + + + +
  • + + + email/ + + account_created.jinja2 + + +
  • + + + +
  • + + + email/ + + account_password_reset.jinja2 + + +
  • + + + +
  • + + + email/ + + admin_application_ready.jinja2 + + +
  • + + + +
  • + + + email/ + + admin_background_job_finished.jinja2 + + +
  • + + + +
  • + + + email/ + + assoc_editor_application_assigned.jinja2 + + +
  • + + + +
  • + + + email/ + + assoc_editor_application_inprogress.jinja2 + + +
  • + + + +
  • + + + email/ + + assoc_editor_journal_assigned.jinja2 + + +
  • + + + +
  • + + + email/ + + discontinue_soon.jinja2 + + +
  • + + + +
  • + + + email/ + + editor_application_assigned_group.jinja2 + + +
  • + + + +
  • + + + email/ + + editor_application_completed.jinja2 + + +
  • + + + +
  • + + + email/ + + editor_application_inprogress.jinja2 + + +
  • + + + +
  • + + + email/ + + editor_journal_assigned_group.jinja2 + + +
  • + + + +
  • + + + email/ + + notification_email.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_application_accepted.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_application_editor_assigned.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_application_inprogress.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_application_received.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_application_rejected.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_update_request_accepted.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_update_request_editor_assigned.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_update_request_inprogress.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_update_request_received.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_update_request_rejected.jinja2 + + +
  • + + + +
  • + + + email/ + + publisher_update_request_revisions.jinja2 + + +
  • + + + +
  • + + + email/ + + script_tag_detected.jinja2 + + +
  • + + + +
  • + + + email/ + + workflow_reminder_fragments/ + + admin_age_frag + + +
  • + + + +
  • + + + email/ + + workflow_reminder_fragments/ + + admin_ready_frag + + +
  • + + + +
  • + + + email/ + + workflow_reminder_fragments/ + + assoc_ed_age_frag + + +
  • + + + +
  • + + + email/ + + workflow_reminder_fragments/ + + editor_age_frag + + +
  • + + + +
  • + + + email/ + + workflow_reminder_fragments/ + + editor_groupcount_frag + + +
  • + + + +
  • + + + includes/ + + _aside_in_case_of_rejection.html + + +
  • + + + +
  • + + + includes/ + + _sidenav_donation.html + + +
  • + + + +
  • + + + includes/ + + _sidenav_toc.html + + +
  • + + + +
  • + + + includes/ + + _todo_item.html + + +
  • + + + +
  • + + + includes/ + + _wechat_modal.html + + +
  • + + + +
  • + + + includes/ + + contribution_rates.html + + +
  • + + + +
  • + + + layouts/ + + base.html + + +
      + +
    • [+] Blocks +
        + + +
      • + base_content + + [Empty] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + layouts/dashboard_base.html + + + + [layouts/base.html > layouts/dashboard_base.html] + +
          • + +
          • + layouts/public_base.html + + + + [layouts/base.html > layouts/public_base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + extra_meta_tags + + [Empty] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + doaj/article.html + + + + [layouts/base.html > layouts/public_base.html > doaj/article.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + extra_stylesheets + + [Empty] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + admin/admin_base.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html] + +
          • + +
          • + api/current/api_docs.html + + + + [layouts/base.html > layouts/public_base.html > api/current/api_docs.html] + +
          • + +
          • + application_form/publisher_update_request.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > application_form/publisher_update_request.html] + +
          • + +
          • + editor/editor_base.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html] + +
          • + +
          • + publisher/publisher_base.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_description + + [Has Content] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + doaj/article.html + + + + [layouts/base.html > layouts/public_base.html > doaj/article.html] + +
          • + +
          • + doaj/articles_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/articles_search.html] + +
          • + +
          • + doaj/journals_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/journals_search.html] + +
          • + +
          • + layouts/toc_base.html + + + + [layouts/base.html > layouts/public_base.html > layouts/toc_base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_og_description + + [Has Content] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + doaj/article.html + + + + [layouts/base.html > layouts/public_base.html > doaj/article.html] + +
          • + +
          • + doaj/articles_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/articles_search.html] + +
          • + +
          • + doaj/journals_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/journals_search.html] + +
          • + +
          • + layouts/toc_base.html + + + + [layouts/base.html > layouts/public_base.html > layouts/toc_base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_og_title + + [Has Content] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + doaj/article.html + + + + [layouts/base.html > layouts/public_base.html > doaj/article.html] + +
          • + +
          • + doaj/articles_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/articles_search.html] + +
          • + +
          • + doaj/journals_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/journals_search.html] + +
          • + +
          • + layouts/toc_base.html + + + + [layouts/base.html > layouts/public_base.html > layouts/toc_base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_twitter_description + + [Has Content] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + doaj/article.html + + + + [layouts/base.html > layouts/public_base.html > doaj/article.html] + +
          • + +
          • + doaj/articles_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/articles_search.html] + +
          • + +
          • + doaj/journals_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/journals_search.html] + +
          • + +
          • + layouts/toc_base.html + + + + [layouts/base.html > layouts/public_base.html > layouts/toc_base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + meta_twitter_title + + [Has Content] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + doaj/article.html + + + + [layouts/base.html > layouts/public_base.html > doaj/article.html] + +
          • + +
          • + doaj/articles_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/articles_search.html] + +
          • + +
          • + doaj/journals_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/journals_search.html] + +
          • + +
          • + layouts/toc_base.html + + + + [layouts/base.html > layouts/public_base.html > layouts/toc_base.html] + +
          • + +
          +
        • + +
        + +
      • + + + +
      • + page_title + + [Has Content] + [New Definition] + + + + + +
          + + + + +
        • [+] Overridden by +
            + +
          • + 400.html + + + + [layouts/base.html > layouts/public_base.html > layouts/single_col_page.html > 400.html] + +
          • + +
          • + 401.html + + + + [layouts/base.html > layouts/public_base.html > layouts/single_col_page.html > 401.html] + +
          • + +
          • + 404.html + + + + [layouts/base.html > layouts/public_base.html > layouts/single_col_page.html > 404.html] + +
          • + +
          • + 500.html + + + + [layouts/base.html > layouts/public_base.html > layouts/single_col_page.html > 500.html] + +
          • + +
          • + admin/application_locked.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/application_locked.html] + +
          • + +
          • + admin/applications.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/applications.html] + +
          • + +
          • + admin/article_metadata.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/article_metadata.html] + +
          • + +
          • + admin/background_jobs_search.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/background_jobs_search.html] + +
          • + +
          • + admin/continuation.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/continuation.html] + +
          • + +
          • + admin/editor_group.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/editor_group.html] + +
          • + +
          • + admin/editor_group_search.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/editor_group_search.html] + +
          • + +
          • + admin/global_notifications_search.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/global_notifications_search.html] + +
          • + +
          • + admin/index.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/index.html] + +
          • + +
          • + admin/journal_locked.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/journal_locked.html] + +
          • + +
          • + admin/update_requests.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > admin/update_requests.html] + +
          • + +
          • + api/current/api_docs.html + + + + [layouts/base.html > layouts/public_base.html > api/current/api_docs.html] + +
          • + +
          • + application_form/assed_application.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > application_form/assed_application.html] + +
          • + +
          • + application_form/assed_journal.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > application_form/assed_journal.html] + +
          • + +
          • + application_form/editor_application.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > application_form/editor_application.html] + +
          • + +
          • + application_form/editor_journal.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > application_form/editor_journal.html] + +
          • + +
          • + application_form/maned_application.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_application.html] + +
          • + +
          • + application_form/maned_journal.html + + + + [layouts/base.html > layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_journal.html] + +
          • + +
          • + application_form/public_application.html + + + + [layouts/base.html > layouts/public_base.html > application_form/public_application.html] + +
          • + +
          • + application_form/publisher_update_request.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > application_form/publisher_update_request.html] + +
          • + +
          • + application_form/readonly_application.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > application_form/readonly_application.html] + +
          • + +
          • + application_form/readonly_journal.html + + + + [layouts/base.html > layouts/public_base.html > application_form/readonly_journal.html] + +
          • + +
          • + doaj/article.html + + + + [layouts/base.html > layouts/public_base.html > doaj/article.html] + +
          • + +
          • + doaj/articles_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/articles_search.html] + +
          • + +
          • + doaj/journals_search.html + + + + [layouts/base.html > layouts/public_base.html > doaj/journals_search.html] + +
          • + +
          • + doaj/readonly.html + + + + [layouts/base.html > layouts/public_base.html > layouts/single_col_page.html > doaj/readonly.html] + +
          • + +
          • + editor/application_locked.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > editor/application_locked.html] + +
          • + +
          • + editor/associate_applications.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > editor/associate_applications.html] + +
          • + +
          • + editor/associate_journals.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > editor/associate_journals.html] + +
          • + +
          • + editor/group_applications.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > editor/group_applications.html] + +
          • + +
          • + editor/group_journals.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > editor/group_journals.html] + +
          • + +
          • + editor/journal_locked.html + + + + [layouts/base.html > layouts/dashboard_base.html > editor/editor_base.html > editor/journal_locked.html] + +
          • + +
          • + layouts/dashboard_base.html + + + + [layouts/base.html > layouts/dashboard_base.html] + +
          • + +
          • + layouts/toc_base.html + + + + [layouts/base.html > layouts/public_base.html > layouts/toc_base.html] + +
          • + +
          • + publisher/application_deleted.html + + + + [layouts/base.html > layouts/public_base.html > layouts/single_col_page.html > publisher/application_deleted.html] + +
          • + +
          • + publisher/help.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/help.html] + +
          • + +
          • + publisher/index.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/index.html] + +
          • + +
          • + publisher/journal_csv.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/journal_csv.html] + +
          • + +
          • + publisher/journals.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/journals.html] + +
          • + +
          • + publisher/locked.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/locked.html] + +
          • + +
          • + publisher/metadata.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/metadata.html] + +
          • + +
          • + publisher/preservation.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/preservation.html] + +
          • + +
          • + publisher/publisher_base.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html] + +
          • + +
          • + publisher/readonly.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/readonly.html] + +
          • + +
          • + publisher/updates_in_progress.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/updates_in_progress.html] + +
          • + +
          • + publisher/uploadmetadata.html + + + + [layouts/base.html > layouts/public_base.html > publisher/publisher_base.html > publisher/uploadmetadata.html] + +
          • + +
          • + unlocked.html + + + + [layouts/base.html > layouts/dashboard_base.html > unlocked.html] + +
          • + +
          +
        • + +
        + +
      • + + +
      +
    • + + +
    • [+] Includes +
        + + +
      • + + + doaj/ + + cookie_consent.html + + +
      • + + +
      +
    • + + + +
    • [+] Extensions +
        + + +
      • + + + layouts/ + + dashboard_base.html + + +
          + +
        • [+] Blocks +
            + + +
          • + base_content + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + body_class + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + unlocked.html + + + + [layouts/dashboard_base.html > unlocked.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + body_id + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + application_form/assed_application.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/assed_application.html] + +
                  • + +
                  • + application_form/assed_journal.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/assed_journal.html] + +
                  • + +
                  • + application_form/editor_application.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/editor_application.html] + +
                  • + +
                  • + application_form/editor_journal.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/editor_journal.html] + +
                  • + +
                  • + application_form/maned_application.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_application.html] + +
                  • + +
                  • + application_form/maned_journal.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_journal.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + extra_header + + [Empty] + [New Definition] + + [WARNING: Unused block] + + + +
              • + + + +
              • + extra_js_bottom + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + admin/applications.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/applications.html] + +
                  • + +
                  • + admin/article_metadata.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/article_metadata.html] + +
                  • + +
                  • + admin/background_jobs_search.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/background_jobs_search.html] + +
                  • + +
                  • + admin/editor_group.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/editor_group.html] + +
                  • + +
                  • + admin/editor_group_search.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/editor_group_search.html] + +
                  • + +
                  • + admin/global_notifications_search.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/global_notifications_search.html] + +
                  • + +
                  • + admin/index.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/index.html] + +
                  • + +
                  • + admin/update_requests.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/update_requests.html] + +
                  • + +
                  • + application_form/assed_application.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/assed_application.html] + +
                  • + +
                  • + application_form/assed_journal.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/assed_journal.html] + +
                  • + +
                  • + application_form/editor_application.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/editor_application.html] + +
                  • + +
                  • + application_form/editor_journal.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/editor_journal.html] + +
                  • + +
                  • + application_form/maned_application.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_application.html] + +
                  • + +
                  • + application_form/maned_journal.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_journal.html] + +
                  • + +
                  • + dashboard/index.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > dashboard/index.html] + +
                  • + +
                  • + dashboard/notifications.html + + + + [layouts/dashboard_base.html > dashboard/notifications.html] + +
                  • + +
                  • + editor/associate_applications.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/associate_applications.html] + +
                  • + +
                  • + editor/associate_journals.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/associate_journals.html] + +
                  • + +
                  • + editor/dashboard.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/dashboard.html] + +
                  • + +
                  • + editor/group_applications.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/group_applications.html] + +
                  • + +
                  • + editor/group_journals.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/group_journals.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + main_panel + + [Has Content] + [New Definition] + + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + admin/admin_base.html + + + + [layouts/dashboard_base.html > admin/admin_base.html] + +
                      • + +
                      • + application_form/maned_application.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_application.html] + +
                      • + +
                      • + application_form/maned_journal.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_journal.html] + +
                      • + +
                      • + dashboard/index.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > dashboard/index.html] + +
                      • + +
                      • + dashboard/notifications.html + + + + [layouts/dashboard_base.html > dashboard/notifications.html] + +
                      • + +
                      • + editor/editor_base.html + + + + [layouts/dashboard_base.html > editor/editor_base.html] + +
                      • + +
                      • + unlocked.html + + + + [layouts/dashboard_base.html > unlocked.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html] + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + admin/application_locked.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/application_locked.html] + +
                      • + +
                      • + admin/applications.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/applications.html] + +
                      • + +
                      • + admin/article_metadata.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/article_metadata.html] + +
                      • + +
                      • + admin/background_jobs_search.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/background_jobs_search.html] + +
                      • + +
                      • + admin/continuation.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/continuation.html] + +
                      • + +
                      • + admin/editor_group.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/editor_group.html] + +
                      • + +
                      • + admin/editor_group_search.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/editor_group_search.html] + +
                      • + +
                      • + admin/global_notifications_search.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/global_notifications_search.html] + +
                      • + +
                      • + admin/index.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/index.html] + +
                      • + +
                      • + admin/journal_locked.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/journal_locked.html] + +
                      • + +
                      • + admin/update_requests.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > admin/update_requests.html] + +
                      • + +
                      • + application_form/assed_application.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/assed_application.html] + +
                      • + +
                      • + application_form/assed_journal.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/assed_journal.html] + +
                      • + +
                      • + application_form/editor_application.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/editor_application.html] + +
                      • + +
                      • + application_form/editor_journal.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > application_form/editor_journal.html] + +
                      • + +
                      • + application_form/maned_application.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_application.html] + +
                      • + +
                      • + application_form/maned_journal.html + + + + [layouts/dashboard_base.html > admin/admin_base.html > application_form/maned_journal.html] + +
                      • + +
                      • + editor/application_locked.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/application_locked.html] + +
                      • + +
                      • + editor/associate_applications.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/associate_applications.html] + +
                      • + +
                      • + editor/associate_journals.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/associate_journals.html] + +
                      • + +
                      • + editor/group_applications.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/group_applications.html] + +
                      • + +
                      • + editor/group_journals.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/group_journals.html] + +
                      • + +
                      • + editor/journal_locked.html + + + + [layouts/dashboard_base.html > editor/editor_base.html > editor/journal_locked.html] + +
                      • + +
                      • + unlocked.html + + + + [layouts/dashboard_base.html > unlocked.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + _back-to-top.html + + +
                  • + + + +
                  • + + + includes/ + + _flash_notification.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + nav + + [Has Content] + [New Definition] + + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + dashboard/ + + nav.html + + +
                  • + + +
                  +
                • + + + +
                • [+] Overridden by +
                    + +
                  • + admin/admin_base.html + + + + [layouts/dashboard_base.html > admin/admin_base.html] + +
                  • + +
                  • + editor/editor_base.html + + + + [layouts/dashboard_base.html > editor/editor_base.html] + +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + +
            • [+] Includes +
                + + +
              • + + + _js_includes.html + + +
              • + + + +
              • + + + includes/ + + _tourist.html + + +
              • + + + +
              • + + + includes/ + + _tourist_nav.html + + +
              • + + + +
              • + + + includes/ + + svg/ + + doaj-icon.svg + [WARNING: unresolved file] + +
              • + + +
              +
            • + + +
            • [+] Dynamic Includes +
                + +
              • config.get("SITE_NOTE_TEMPLATE")
              • + +
              +
            • + + +
            + +
          • + + +
          +
        • + + + + +
        • [+] Extensions +
            + + +
          • + + + admin/ + + admin_base.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + admin/application_locked.html + + + + [admin/admin_base.html > admin/application_locked.html] + +
                      • + +
                      • + admin/applications.html + + + + [admin/admin_base.html > admin/applications.html] + +
                      • + +
                      • + admin/article_metadata.html + + + + [admin/admin_base.html > admin/article_metadata.html] + +
                      • + +
                      • + admin/background_jobs_search.html + + + + [admin/admin_base.html > admin/background_jobs_search.html] + +
                      • + +
                      • + admin/continuation.html + + + + [admin/admin_base.html > admin/continuation.html] + +
                      • + +
                      • + admin/editor_group.html + + + + [admin/admin_base.html > admin/editor_group.html] + +
                      • + +
                      • + admin/editor_group_search.html + + + + [admin/admin_base.html > admin/editor_group_search.html] + +
                      • + +
                      • + admin/global_notifications_search.html + + + + [admin/admin_base.html > admin/global_notifications_search.html] + +
                      • + +
                      • + admin/index.html + + + + [admin/admin_base.html > admin/index.html] + +
                      • + +
                      • + admin/journal_locked.html + + + + [admin/admin_base.html > admin/journal_locked.html] + +
                      • + +
                      • + admin/update_requests.html + + + + [admin/admin_base.html > admin/update_requests.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + _hotjar.html + + +
                  • + + +
                  +
                • + + + +
                • [+] Overridden by +
                    + +
                  • + application_form/maned_application.html + + + + [admin/admin_base.html > application_form/maned_application.html] + +
                  • + +
                  • + application_form/maned_journal.html + + + + [admin/admin_base.html > application_form/maned_journal.html] + +
                  • + +
                  • + dashboard/index.html + + + + [admin/admin_base.html > dashboard/index.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + extra_stylesheets + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html] + + + + +
              • + + + +
              • + nav + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + dashboard/ + + nav.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            • [+] Extensions +
                + + +
              • + + + admin/ + + application_locked.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/application_locked.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/application_locked.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/application_locked.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + admin/ + + applications.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/applications.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + management/ + + admin/ + + includes/ + + _applications_and_update_requests_common.html + [WARNING: unresolved file] + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < admin/applications.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + management/ + + admin/ + + includes/ + + _applications_and_update_requests_common_js.html + [WARNING: unresolved file] + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/applications.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/applications.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + admin/ + + article_metadata.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/article_metadata.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _formhelpers.html + + +
                      • + + + +
                      • + + + formcontext/ + + _error_header.html + + +
                      • + + + +
                      • + + + formcontext/ + + article_metadata_form.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < admin/article_metadata.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/article_metadata.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/article_metadata.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + admin/ + + background_jobs_search.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/background_jobs_search.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < admin/background_jobs_search.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/background_jobs_search.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/background_jobs_search.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + admin/ + + continuation.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/continuation.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _formhelpers.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/continuation.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/continuation.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + admin/ + + editor_group.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/editor_group.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _formhelpers.html + + +
                      • + + + +
                      • + + + formcontext/ + + _error_header.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < admin/editor_group.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/editor_group.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/editor_group.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + admin/ + + editor_group_search.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/editor_group_search.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < admin/editor_group_search.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/editor_group_search.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/editor_group_search.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + admin/ + + global_notifications_search.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/global_notifications_search.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < admin/global_notifications_search.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/global_notifications_search.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/global_notifications_search.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + admin/ + + index.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/index.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < admin/index.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/index.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/index.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + admin/ + + journal_locked.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/journal_locked.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/journal_locked.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/journal_locked.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + admin/ + + update_requests.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + admin_content + + [Has Content] + + + + + + + [admin/admin_base.html < admin/update_requests.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + management/ + + admin/ + + includes/ + + _applications_and_update_requests_common.html + [WARNING: unresolved file] + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < admin/update_requests.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + management/ + + admin/ + + includes/ + + _applications_and_update_requests_common_js.html + [WARNING: unresolved file] + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < admin/update_requests.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < admin/update_requests.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + application_form/ + + maned_application.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_id + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_application.html] + + + + +
                  • + + + +
                  • + content + + [Has Content] + + [Scoped] + + + + + [admin/admin_base.html < application_form/maned_application.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_application.html] + + +
                    + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + editorial_form_body.html + + +
                          + + +
                        • [+] Includes +
                            + + +
                          • + + + application_form/ + + _application_diff.html + + +
                          • + + + +
                          • + + + application_form/ + + _autochecks.html + + +
                          • + + + +
                          • + + + application_form/ + + _backend_validation.html + + +
                          • + + + +
                          • + + + application_form/ + + _edit_status.html + + +
                          • + + + +
                          • + + + application_form/ + + _fieldsets.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 02-about/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 04-editorial/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 05-business-model/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                              • + + +
                              +
                            • + + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_form_fields.html + + +
                              + + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_side_panel.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + _contact.html + + +
                              • + + +
                              +
                            • + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + includes/ + + _hotjar.html + + +
                          • + + +
                          +
                        • + + + +
                        + +
                      • + + + +
                      • + + + includes/ + + _hotjar.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_application.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + js/ + + _form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_application.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_application.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + application_form/ + + maned_journal.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_id + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_journal.html] + + + + +
                  • + + + +
                  • + content + + [Has Content] + + [Scoped] + + + + + [admin/admin_base.html < application_form/maned_journal.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_journal.html] + + +
                    + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + editorial_form_body.html + + +
                          + + +
                        • [+] Includes +
                            + + +
                          • + + + application_form/ + + _application_diff.html + + +
                          • + + + +
                          • + + + application_form/ + + _autochecks.html + + +
                          • + + + +
                          • + + + application_form/ + + _backend_validation.html + + +
                          • + + + +
                          • + + + application_form/ + + _edit_status.html + + +
                          • + + + +
                          • + + + application_form/ + + _fieldsets.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 02-about/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 04-editorial/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 05-business-model/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                              • + + +
                              +
                            • + + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_form_fields.html + + +
                              + + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_side_panel.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + _contact.html + + +
                              • + + +
                              +
                            • + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + includes/ + + _hotjar.html + + +
                          • + + +
                          +
                        • + + + +
                        + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_journal.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + js/ + + _form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_journal.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < application_form/maned_journal.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + dashboard/ + + index.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + content + + [Has Content] + + + + + + + [admin/admin_base.html < dashboard/index.html] + + +
                    + + [layouts/dashboard_base.html < admin/admin_base.html < dashboard/index.html] + + +
                    + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + dashboard/ + + _todo.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < admin/admin_base.html < dashboard/index.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + includes/ + + _hotjar.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + +
            + +
          • + + + +
          • + + + dashboard/ + + notifications.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/dashboard_base.html < dashboard/notifications.html] + + + + +
              • + + + +
              • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < dashboard/notifications.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_js.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + +
            • [+] Includes +
                + + +
              • + + + _edges_common_css.html + + +
              • + + +
              +
            • + + + +
            + +
          • + + + +
          • + + + editor/ + + editor_base.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + application_form/assed_application.html + + + + [editor/editor_base.html > application_form/assed_application.html] + +
                      • + +
                      • + application_form/assed_journal.html + + + + [editor/editor_base.html > application_form/assed_journal.html] + +
                      • + +
                      • + application_form/editor_application.html + + + + [editor/editor_base.html > application_form/editor_application.html] + +
                      • + +
                      • + application_form/editor_journal.html + + + + [editor/editor_base.html > application_form/editor_journal.html] + +
                      • + +
                      • + editor/application_locked.html + + + + [editor/editor_base.html > editor/application_locked.html] + +
                      • + +
                      • + editor/associate_applications.html + + + + [editor/editor_base.html > editor/associate_applications.html] + +
                      • + +
                      • + editor/associate_journals.html + + + + [editor/editor_base.html > editor/associate_journals.html] + +
                      • + +
                      • + editor/dashboard.html + + + + [editor/editor_base.html > editor/dashboard.html] + +
                      • + +
                      • + editor/group_applications.html + + + + [editor/editor_base.html > editor/group_applications.html] + +
                      • + +
                      • + editor/group_journals.html + + + + [editor/editor_base.html > editor/group_journals.html] + +
                      • + +
                      • + editor/journal_locked.html + + + + [editor/editor_base.html > editor/journal_locked.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + editor/ + + nav.html + + +
                  • + + + +
                  • + + + includes/ + + _hotjar.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + extra_stylesheets + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html] + + + + +
              • + + + +
              • + nav + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + editor/ + + nav.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            • [+] Extensions +
                + + +
              • + + + application_form/ + + assed_application.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_id + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/assed_application.html] + + + + +
                  • + + + +
                  • + editor_content + + [Has Content] + + [Scoped] + + + + + [editor/editor_base.html < application_form/assed_application.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + editorial_form_body.html + + +
                          + + +
                        • [+] Includes +
                            + + +
                          • + + + application_form/ + + _application_diff.html + + +
                          • + + + +
                          • + + + application_form/ + + _autochecks.html + + +
                          • + + + +
                          • + + + application_form/ + + _backend_validation.html + + +
                          • + + + +
                          • + + + application_form/ + + _edit_status.html + + +
                          • + + + +
                          • + + + application_form/ + + _fieldsets.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 02-about/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 04-editorial/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 05-business-model/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                              • + + +
                              +
                            • + + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_form_fields.html + + +
                              + + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_side_panel.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + _contact.html + + +
                              • + + +
                              +
                            • + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + includes/ + + _hotjar.html + + +
                          • + + +
                          +
                        • + + + +
                        + +
                      • + + + +
                      • + + + includes/ + + _hotjar.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/assed_application.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + js/ + + _form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < application_form/assed_application.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/assed_application.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + application_form/ + + assed_journal.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_id + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/assed_journal.html] + + + + +
                  • + + + +
                  • + editor_content + + [Has Content] + + [Scoped] + + + + + [editor/editor_base.html < application_form/assed_journal.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + editorial_form_body.html + + +
                          + + +
                        • [+] Includes +
                            + + +
                          • + + + application_form/ + + _application_diff.html + + +
                          • + + + +
                          • + + + application_form/ + + _autochecks.html + + +
                          • + + + +
                          • + + + application_form/ + + _backend_validation.html + + +
                          • + + + +
                          • + + + application_form/ + + _edit_status.html + + +
                          • + + + +
                          • + + + application_form/ + + _fieldsets.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 02-about/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 04-editorial/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 05-business-model/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                              • + + +
                              +
                            • + + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_form_fields.html + + +
                              + + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_side_panel.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + _contact.html + + +
                              • + + +
                              +
                            • + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + includes/ + + _hotjar.html + + +
                          • + + +
                          +
                        • + + + +
                        + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/assed_journal.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + js/ + + _form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < application_form/assed_journal.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/assed_journal.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + application_form/ + + editor_application.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_id + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/editor_application.html] + + + + +
                  • + + + +
                  • + editor_content + + [Has Content] + + [Scoped] + + + + + [editor/editor_base.html < application_form/editor_application.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + editorial_form_body.html + + +
                          + + +
                        • [+] Includes +
                            + + +
                          • + + + application_form/ + + _application_diff.html + + +
                          • + + + +
                          • + + + application_form/ + + _autochecks.html + + +
                          • + + + +
                          • + + + application_form/ + + _backend_validation.html + + +
                          • + + + +
                          • + + + application_form/ + + _edit_status.html + + +
                          • + + + +
                          • + + + application_form/ + + _fieldsets.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 02-about/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 04-editorial/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 05-business-model/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                              • + + +
                              +
                            • + + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_form_fields.html + + +
                              + + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_side_panel.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + _contact.html + + +
                              • + + +
                              +
                            • + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + includes/ + + _hotjar.html + + +
                          • + + +
                          +
                        • + + + +
                        + +
                      • + + + +
                      • + + + includes/ + + _hotjar.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/editor_application.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + js/ + + _form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < application_form/editor_application.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/editor_application.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + application_form/ + + editor_journal.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_id + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/editor_journal.html] + + + + +
                  • + + + +
                  • + editor_content + + [Has Content] + + [Scoped] + + + + + [editor/editor_base.html < application_form/editor_journal.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + editorial_form_body.html + + +
                          + + +
                        • [+] Includes +
                            + + +
                          • + + + application_form/ + + _application_diff.html + + +
                          • + + + +
                          • + + + application_form/ + + _autochecks.html + + +
                          • + + + +
                          • + + + application_form/ + + _backend_validation.html + + +
                          • + + + +
                          • + + + application_form/ + + _edit_status.html + + +
                          • + + + +
                          • + + + application_form/ + + _fieldsets.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 02-about/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 04-editorial/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 05-business-model/ + + index.html + + +
                              • + + + +
                              • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                              • + + +
                              +
                            • + + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_form_fields.html + + +
                              + + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + application_form/ + + editorial_side_panel.html + + +
                              + + +
                            • [+] Includes +
                                + + +
                              • + + + application_form/ + + _contact.html + + +
                              • + + +
                              +
                            • + + +
                            • [+] Dynamic Includes +
                                + +
                              • field_template
                              • + +
                              • field_template
                              • + +
                              +
                            • + + +
                            + +
                          • + + + +
                          • + + + includes/ + + _hotjar.html + + +
                          • + + +
                          +
                        • + + + +
                        + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/editor_journal.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + js/ + + _form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < application_form/editor_journal.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < application_form/editor_journal.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + editor/ + + application_locked.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Has Content] + + + + + + + [editor/editor_base.html < editor/application_locked.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < editor/application_locked.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < editor/application_locked.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + editor/ + + associate_applications.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Has Content] + + + + + + + [editor/editor_base.html < editor/associate_applications.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < editor/associate_applications.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < editor/associate_applications.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < editor/associate_applications.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + editor/ + + associate_journals.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Has Content] + + + + + + + [editor/editor_base.html < editor/associate_journals.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < editor/associate_journals.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < editor/associate_journals.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < editor/associate_journals.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + editor/ + + dashboard.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Has Content] + + + + + + + [editor/editor_base.html < editor/dashboard.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + dashboard/ + + _todo.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < editor/dashboard.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + editor/ + + group_applications.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Has Content] + + + + + + + [editor/editor_base.html < editor/group_applications.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < editor/group_applications.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < editor/group_applications.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < editor/group_applications.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + editor/ + + group_journals.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Has Content] + + + + + + + [editor/editor_base.html < editor/group_journals.html] + + + + +
                  • + + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/dashboard_base.html < editor/editor_base.html < editor/group_journals.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < editor/group_journals.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < editor/group_journals.html] + + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_css.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + editor/ + + journal_locked.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + editor_content + + [Has Content] + + + + + + + [editor/editor_base.html < editor/journal_locked.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < editor/editor_base.html < editor/journal_locked.html] + + +
                    + + [layouts/dashboard_base.html < editor/editor_base.html < editor/journal_locked.html] + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + +
            + +
          • + + + +
          • + + + unlocked.html + + +
              + +
            • [+] Blocks +
                + + +
              • + body_class + + [Has Content] + + + + + + + [layouts/dashboard_base.html < unlocked.html] + + + + +
              • + + + +
              • + content + + [Has Content] + + + + + + + [layouts/dashboard_base.html < unlocked.html] + + + + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/dashboard_base.html < unlocked.html] + + +
                + + [layouts/dashboard_base.html < unlocked.html] + + +
                + +
              • + + + +
              • + title + + [Has Content] + [New Definition] + + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + +
          +
        • + +
        + +
      • + + + +
      • + + + layouts/ + + public_base.html + + +
          + +
        • [+] Blocks +
            + + +
          • + base_content + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html] + + + + +
              + +
            • [+] Blocks +
                + + +
              • + body_class + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + 400.html + + + + [layouts/public_base.html > layouts/single_col_page.html > 400.html] + +
                  • + +
                  • + 401.html + + + + [layouts/public_base.html > layouts/single_col_page.html > 401.html] + +
                  • + +
                  • + 404.html + + + + [layouts/public_base.html > layouts/single_col_page.html > 404.html] + +
                  • + +
                  • + 500.html + + + + [layouts/public_base.html > layouts/single_col_page.html > 500.html] + +
                  • + +
                  • + doaj/article.html + + + + [layouts/public_base.html > doaj/article.html] + +
                  • + +
                  • + layouts/toc_base.html + + + + [layouts/public_base.html > layouts/toc_base.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + extra_header + + [Empty] + [New Definition] + + [WARNING: Unused block] + + + +
              • + + + +
              • + extra_js_bottom + + [Empty] + [New Definition] + + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + api/current/api_docs.html + + + + [layouts/public_base.html > api/current/api_docs.html] + +
                  • + +
                  • + application_form/public_application.html + + + + [layouts/public_base.html > application_form/public_application.html] + +
                  • + +
                  • + application_form/publisher_update_request.html + + + + [layouts/public_base.html > publisher/publisher_base.html > application_form/publisher_update_request.html] + +
                  • + +
                  • + application_form/readonly_application.html + + + + [layouts/public_base.html > publisher/publisher_base.html > application_form/readonly_application.html] + +
                  • + +
                  • + application_form/readonly_journal.html + + + + [layouts/public_base.html > application_form/readonly_journal.html] + +
                  • + +
                  • + doaj/articles_search.html + + + + [layouts/public_base.html > doaj/articles_search.html] + +
                  • + +
                  • + doaj/contact.html + + + + [layouts/public_base.html > doaj/contact.html] + +
                  • + +
                  • + doaj/journals_search.html + + + + [layouts/public_base.html > doaj/journals_search.html] + +
                  • + +
                  • + doaj/toc_articles.html + + + + [layouts/public_base.html > layouts/toc_base.html > doaj/toc_articles.html] + +
                  • + +
                  • + publisher/index.html + + + + [layouts/public_base.html > publisher/publisher_base.html > publisher/index.html] + +
                  • + +
                  • + publisher/journal_csv.html + + + + [layouts/public_base.html > publisher/publisher_base.html > publisher/journal_csv.html] + +
                  • + +
                  • + publisher/journals.html + + + + [layouts/public_base.html > publisher/publisher_base.html > publisher/journals.html] + +
                  • + +
                  • + publisher/metadata.html + + + + [layouts/public_base.html > publisher/publisher_base.html > publisher/metadata.html] + +
                  • + +
                  • + publisher/preservation.html + + + + [layouts/public_base.html > publisher/publisher_base.html > publisher/preservation.html] + +
                  • + +
                  • + publisher/updates_in_progress.html + + + + [layouts/public_base.html > publisher/publisher_base.html > publisher/updates_in_progress.html] + +
                  • + +
                  • + publisher/uploadmetadata.html + + + + [layouts/public_base.html > publisher/publisher_base.html > publisher/uploadmetadata.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + main_panel + + [Has Content] + [New Definition] + + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + api/current/api_docs.html + + + + [layouts/public_base.html > api/current/api_docs.html] + +
                      • + +
                      • + application_form/public_application.html + + + + [layouts/public_base.html > application_form/public_application.html] + +
                      • + +
                      • + application_form/readonly_journal.html + + + + [layouts/public_base.html > application_form/readonly_journal.html] + +
                      • + +
                      • + doaj/article.html + + + + [layouts/public_base.html > doaj/article.html] + +
                      • + +
                      • + doaj/articles_search.html + + + + [layouts/public_base.html > doaj/articles_search.html] + +
                      • + +
                      • + doaj/contact.html + + + + [layouts/public_base.html > doaj/contact.html] + +
                      • + +
                      • + doaj/journals_search.html + + + + [layouts/public_base.html > doaj/journals_search.html] + +
                      • + +
                      • + layouts/single_col_page.html + + + + [layouts/public_base.html > layouts/single_col_page.html] + +
                      • + +
                      • + layouts/toc_base.html + + + + [layouts/public_base.html > layouts/toc_base.html] + +
                      • + +
                      • + openurl/404.html + + + + [layouts/public_base.html > openurl/404.html] + +
                      • + +
                      • + openurl/help.html + + + + [layouts/public_base.html > openurl/help.html] + +
                      • + +
                      • + publisher/publisher_base.html + + + + [layouts/public_base.html > publisher/publisher_base.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + + +
            • [+] Includes +
                + + +
              • + + + _js_includes.html + + +
              • + + + +
              • + + + includes/ + + _flash_notification.html + + +
              • + + + +
              • + + + includes/ + + _quick_search_modal.html + + +
              • + + + +
              • + + + includes/ + + footer.html + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + _back-to-top.html + + +
                  • + + + +
                  • + + + includes/ + + _nav_modals.html + + +
                      + + + +
                    • [+] Dynamic Includes +
                        + +
                      • entry.modal.include
                      • + +
                      +
                    • + + +
                    + +
                  • + + + +
                  • + + + includes/ + + footer-column.html + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + includes/ + + menu-items.html + + +
                          + + + +
                        • [+] Dynamic Includes +
                            + +
                          • entry.include
                          • + +
                          +
                        • + + +
                        + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + + + includes/ + + menu-items.html + + +
                      + + + +
                    • [+] Dynamic Includes +
                        + +
                      • entry.include
                      • + +
                      +
                    • + + +
                    + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + + + includes/ + + header.html + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + _header-secondary-navigation-account.html + + +
                  • + + + +
                  • + + + includes/ + + header-primary-navigation.html + + +
                  • + + + +
                  • + + + includes/ + + header-secondary-navigation.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + +
            • [+] Dynamic Includes +
                + +
              • config.get("SITE_NOTE_TEMPLATE")
              • + +
              +
            • + + +
            + +
          • + + +
          +
        • + + + + +
        • [+] Extensions +
            + + +
          • + + + api/ + + current/ + + api_docs.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < api/current/api_docs.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + api/ + + current/ + + extra_docs.html + + +
                  • + + + +
                  • + + + api/ + + current/ + + swagger_description.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < api/current/api_docs.html] + + + + +
              • + + + +
              • + extra_stylesheets + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < api/current/api_docs.html] + + + + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < api/current/api_docs.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + application_form/ + + public_application.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + [Scoped] + + + + + [layouts/public_base.html < application_form/public_application.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + application_form/ + + 07-review/ + + index.html + + +
                  • + + + +
                  • + + + application_form/ + + _backend_validation.html + + +
                  • + + + +
                  • + + + application_form/ + + _buttons.html + + +
                      + +
                    • [+] Blocks +
                        + + +
                      • + buttons + + [Has Content] + [New Definition] + + + + + +
                      • + + +
                      +
                    • + + + + +
                    + +
                  • + + + +
                  • + + + application_form/ + + _fieldsets.html + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 02-about/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 04-editorial/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 05-business-model/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + + + application_form/ + + aside_menu.html + + +
                      + +
                    • [+] Blocks +
                        + + +
                      • + aside_menu + + [Has Content] + [New Definition] + + + + + +
                      • + + +
                      +
                    • + + + + +
                    + +
                  • + + + +
                  • + + + application_form/ + + pagination_menu.html + + +
                      + +
                    • [+] Blocks +
                        + + +
                      • + pagination_menu + + [Has Content] + [New Definition] + + + + + +
                      • + + +
                      +
                    • + + + + +
                    + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/public_base.html < application_form/public_application.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + application_form/ + + js/ + + _form_js.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < application_form/public_application.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + application_form/ + + readonly_journal.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + [Scoped] + + + + + [layouts/public_base.html < application_form/readonly_journal.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + application_form/ + + 07-review/ + + index.html + + +
                  • + + + +
                  • + + + application_form/ + + _fieldsets.html + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 02-about/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 04-editorial/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 05-business-model/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + + + application_form/ + + aside_menu.html + + +
                      + +
                    • [+] Blocks +
                        + + +
                      • + aside_menu + + [Has Content] + [New Definition] + + + + + +
                      • + + +
                      +
                    • + + + + +
                    + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/public_base.html < application_form/readonly_journal.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + application_form/ + + js/ + + _form_js.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < application_form/readonly_journal.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + doaj/ + + article.html + + +
              + +
            • [+] Blocks +
                + + +
              • + body_class + + [Has Content] + + + + + + + [layouts/public_base.html < doaj/article.html] + + + + +
              • + + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < doaj/article.html] + + + + +
              • + + + +
              • + extra_meta_tags + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/article.html] + + + + +
              • + + + +
              • + meta_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/article.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _article_meta_description.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_og_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/article.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _article_meta_description.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_og_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/article.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _article_meta_title.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_twitter_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/article.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _article_meta_description.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_twitter_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/article.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _article_meta_title.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/article.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _article_meta_title.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + doaj/ + + articles_search.html + + +
              + +
            • [+] Blocks +
                + + +
              • + body_attrs + + [Has Content] + [New Definition] + + + + + +
              • + + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < doaj/articles_search.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + search-help-modal.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < doaj/articles_search.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_js.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/articles_search.html] + + + + +
              • + + + +
              • + meta_og_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/articles_search.html] + + + + +
              • + + + +
              • + meta_og_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/articles_search.html] + + + + +
              • + + + +
              • + meta_twitter_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/articles_search.html] + + + + +
              • + + + +
              • + meta_twitter_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/articles_search.html] + + + + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/articles_search.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + doaj/ + + contact.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < doaj/contact.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _formhelpers.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < doaj/contact.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + doaj/ + + journals_search.html + + +
              + +
            • [+] Blocks +
                + + +
              • + body_attrs + + [Has Content] + [New Definition] + + + + + +
              • + + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < doaj/journals_search.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + search-help-modal.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < doaj/journals_search.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + _edges_common_js.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/journals_search.html] + + + + +
              • + + + +
              • + meta_og_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/journals_search.html] + + + + +
              • + + + +
              • + meta_og_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/journals_search.html] + + + + +
              • + + + +
              • + meta_twitter_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/journals_search.html] + + + + +
              • + + + +
              • + meta_twitter_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/journals_search.html] + + + + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < doaj/journals_search.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + layouts/ + + single_col_page.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < layouts/single_col_page.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + single_col_content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + 400.html + + + + [layouts/single_col_page.html > 400.html] + +
                      • + +
                      • + 401.html + + + + [layouts/single_col_page.html > 401.html] + +
                      • + +
                      • + 404.html + + + + [layouts/single_col_page.html > 404.html] + +
                      • + +
                      • + 500.html + + + + [layouts/single_col_page.html > 500.html] + +
                      • + +
                      • + doaj/readonly.html + + + + [layouts/single_col_page.html > doaj/readonly.html] + +
                      • + +
                      • + publisher/application_deleted.html + + + + [layouts/single_col_page.html > publisher/application_deleted.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + + +
                  • + title + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + 400.html + + + + [layouts/single_col_page.html > 400.html] + +
                      • + +
                      • + 401.html + + + + [layouts/single_col_page.html > 401.html] + +
                      • + +
                      • + 404.html + + + + [layouts/single_col_page.html > 404.html] + +
                      • + +
                      • + 500.html + + + + [layouts/single_col_page.html > 500.html] + +
                      • + +
                      • + doaj/readonly.html + + + + [layouts/single_col_page.html > doaj/readonly.html] + +
                      • + +
                      • + publisher/application_deleted.html + + + + [layouts/single_col_page.html > publisher/application_deleted.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + + + + +
            • [+] Extensions +
                + + +
              • + + + 400.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_class + + [Has Content] + + + + + + + [layouts/public_base.html < layouts/single_col_page.html < 400.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/single_col_page.html < 400.html] + + + + +
                  • + + + +
                  • + single_col_content + + [Has Content] + + + + + + + [layouts/single_col_page.html < 400.html] + + + + +
                  • + + + +
                  • + title + + [Has Content] + + + + + + + [layouts/single_col_page.html < 400.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + 401.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_class + + [Has Content] + + + + + + + [layouts/public_base.html < layouts/single_col_page.html < 401.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/single_col_page.html < 401.html] + + + + +
                  • + + + +
                  • + single_col_content + + [Has Content] + + + + + + + [layouts/single_col_page.html < 401.html] + + + + +
                  • + + + +
                  • + title + + [Has Content] + + + + + + + [layouts/single_col_page.html < 401.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + 404.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_class + + [Has Content] + + + + + + + [layouts/public_base.html < layouts/single_col_page.html < 404.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/single_col_page.html < 404.html] + + + + +
                  • + + + +
                  • + single_col_content + + [Has Content] + + + + + + + [layouts/single_col_page.html < 404.html] + + + + +
                  • + + + +
                  • + title + + [Has Content] + + + + + + + [layouts/single_col_page.html < 404.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + 500.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + body_class + + [Has Content] + + + + + + + [layouts/public_base.html < layouts/single_col_page.html < 500.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/single_col_page.html < 500.html] + + + + +
                  • + + + +
                  • + single_col_content + + [Has Content] + + + + + + + [layouts/single_col_page.html < 500.html] + + + + +
                  • + + + +
                  • + title + + [Has Content] + + + + + + + [layouts/single_col_page.html < 500.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + doaj/ + + readonly.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/single_col_page.html < doaj/readonly.html] + + + + +
                  • + + + +
                  • + single_col_content + + [Has Content] + + + + + + + [layouts/single_col_page.html < doaj/readonly.html] + + + + +
                  • + + + +
                  • + title + + [Has Content] + + + + + + + [layouts/single_col_page.html < doaj/readonly.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + application_deleted.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/single_col_page.html < publisher/application_deleted.html] + + + + +
                  • + + + +
                  • + single_col_content + + [Has Content] + + + + + + + [layouts/single_col_page.html < publisher/application_deleted.html] + + + + +
                  • + + + +
                  • + title + + [Has Content] + + + + + + + [layouts/single_col_page.html < publisher/application_deleted.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + +
            + +
          • + + + +
          • + + + layouts/ + + toc_base.html + + +
              + +
            • [+] Blocks +
                + + +
              • + body_class + + [Has Content] + + + + + + + [layouts/public_base.html < layouts/toc_base.html] + + + + +
              • + + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < layouts/toc_base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + toc_content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + doaj/toc.html + + + + [layouts/toc_base.html > doaj/toc.html] + +
                      • + +
                      • + doaj/toc_articles.html + + + + [layouts/toc_base.html > doaj/toc_articles.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + _hotjar.html + + +
                  • + + + +
                  • + + + includes/ + + svg/ + + seal.svg + [WARNING: unresolved file] + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/toc_base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _journal_meta_description.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_og_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/toc_base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _journal_meta_description.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_og_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/toc_base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _journal_meta_title.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_twitter_description + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/toc_base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _journal_meta_description.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + meta_twitter_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/toc_base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _journal_meta_title.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < layouts/toc_base.html] + + + + +
                  + + +
                • [+] Includes +
                    + + +
                  • + + + doaj/ + + includes/ + + _journal_meta_title.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + +
              +
            • + + + + +
            • [+] Extensions +
                + + +
              • + + + doaj/ + + toc.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + toc_content + + [Has Content] + + + + + + + [layouts/toc_base.html < doaj/toc.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + includes/ + + svg/ + + by.svg + [WARNING: unresolved file] + +
                      • + + + +
                      • + + + includes/ + + svg/ + + cc.svg + [WARNING: unresolved file] + +
                      • + + + +
                      • + + + includes/ + + svg/ + + copyright.svg + [WARNING: unresolved file] + +
                      • + + + +
                      • + + + includes/ + + svg/ + + nc.svg + [WARNING: unresolved file] + +
                      • + + + +
                      • + + + includes/ + + svg/ + + nd.svg + [WARNING: unresolved file] + +
                      • + + + +
                      • + + + includes/ + + svg/ + + sa.svg + [WARNING: unresolved file] + +
                      • + + + +
                      • + + + includes/ + + svg/ + + zero.svg + [WARNING: unresolved file] + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + doaj/ + + toc_articles.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < layouts/toc_base.html < doaj/toc_articles.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + toc_content + + [Has Content] + + + + + + + [layouts/toc_base.html < doaj/toc_articles.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + +
            + +
          • + + + +
          • + + + openurl/ + + 404.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < openurl/404.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + openurl/ + + help.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < openurl/help.html] + + + + +
              • + + +
              +
            • + + + + +
            + +
          • + + + +
          • + + + publisher/ + + publisher_base.html + + +
              + +
            • [+] Blocks +
                + + +
              • + content + + [Has Content] + + + + + + + [layouts/public_base.html < publisher/publisher_base.html] + + + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + publisher_content + + [Empty] + [New Definition] + + + + + +
                      + + + + +
                    • [+] Overridden by +
                        + +
                      • + application_form/publisher_update_request.html + + + + [publisher/publisher_base.html > application_form/publisher_update_request.html] + +
                      • + +
                      • + application_form/readonly_application.html + + + + [publisher/publisher_base.html > application_form/readonly_application.html] + +
                      • + +
                      • + publisher/application_already_submitted.html + + + + [publisher/publisher_base.html > publisher/application_already_submitted.html] + +
                      • + +
                      • + publisher/help.html + + + + [publisher/publisher_base.html > publisher/help.html] + +
                      • + +
                      • + publisher/index.html + + + + [publisher/publisher_base.html > publisher/index.html] + +
                      • + +
                      • + publisher/journal_csv.html + + + + [publisher/publisher_base.html > publisher/journal_csv.html] + +
                      • + +
                      • + publisher/journals.html + + + + [publisher/publisher_base.html > publisher/journals.html] + +
                      • + +
                      • + publisher/locked.html + + + + [publisher/publisher_base.html > publisher/locked.html] + +
                      • + +
                      • + publisher/metadata.html + + + + [publisher/publisher_base.html > publisher/metadata.html] + +
                      • + +
                      • + publisher/preservation.html + + + + [publisher/publisher_base.html > publisher/preservation.html] + +
                      • + +
                      • + publisher/readonly.html + + + + [publisher/publisher_base.html > publisher/readonly.html] + +
                      • + +
                      • + publisher/updates_in_progress.html + + + + [publisher/publisher_base.html > publisher/updates_in_progress.html] + +
                      • + +
                      • + publisher/uploadmetadata.html + + + + [publisher/publisher_base.html > publisher/uploadmetadata.html] + +
                      • + +
                      +
                    • + +
                    + +
                  • + + +
                  +
                • + + +
                • [+] Includes +
                    + + +
                  • + + + includes/ + + _hotjar.html + + +
                  • + + + +
                  • + + + publisher/ + + nav.html + + +
                  • + + +
                  +
                • + + + +
                + +
              • + + + +
              • + extra_stylesheets + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html] + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + application_form/publisher_update_request.html + + + + [publisher/publisher_base.html > application_form/publisher_update_request.html] + +
                  • + +
                  +
                • + +
                + +
              • + + + +
              • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html] + + + + +
                  + + + + +
                • [+] Overridden by +
                    + +
                  • + application_form/publisher_update_request.html + + + + [publisher/publisher_base.html > application_form/publisher_update_request.html] + +
                  • + +
                  • + application_form/readonly_application.html + + + + [publisher/publisher_base.html > application_form/readonly_application.html] + +
                  • + +
                  • + publisher/help.html + + + + [publisher/publisher_base.html > publisher/help.html] + +
                  • + +
                  • + publisher/index.html + + + + [publisher/publisher_base.html > publisher/index.html] + +
                  • + +
                  • + publisher/journal_csv.html + + + + [publisher/publisher_base.html > publisher/journal_csv.html] + +
                  • + +
                  • + publisher/journals.html + + + + [publisher/publisher_base.html > publisher/journals.html] + +
                  • + +
                  • + publisher/locked.html + + + + [publisher/publisher_base.html > publisher/locked.html] + +
                  • + +
                  • + publisher/metadata.html + + + + [publisher/publisher_base.html > publisher/metadata.html] + +
                  • + +
                  • + publisher/preservation.html + + + + [publisher/publisher_base.html > publisher/preservation.html] + +
                  • + +
                  • + publisher/readonly.html + + + + [publisher/publisher_base.html > publisher/readonly.html] + +
                  • + +
                  • + publisher/updates_in_progress.html + + + + [publisher/publisher_base.html > publisher/updates_in_progress.html] + +
                  • + +
                  • + publisher/uploadmetadata.html + + + + [publisher/publisher_base.html > publisher/uploadmetadata.html] + +
                  • + +
                  +
                • + +
                + +
              • + + +
              +
            • + + + + +
            • [+] Extensions +
                + + +
              • + + + application_form/ + + publisher_update_request.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/public_base.html < publisher/publisher_base.html < application_form/publisher_update_request.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + js/ + + _form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + extra_stylesheets + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < application_form/publisher_update_request.html] + + +
                    + + [publisher/publisher_base.html < application_form/publisher_update_request.html] + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < application_form/publisher_update_request.html] + + +
                    + + [publisher/publisher_base.html < application_form/publisher_update_request.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + [Scoped] + + + + + [publisher/publisher_base.html < application_form/publisher_update_request.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + 07-review/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + _backend_validation.html + + +
                      • + + + +
                      • + + + application_form/ + + _buttons.html + + +
                          + +
                        • [+] Blocks +
                            + + +
                          • + buttons + + [Has Content] + [New Definition] + + + + + +
                          • + + +
                          +
                        • + + + + +
                        + +
                      • + + + +
                      • + + + application_form/ + + _fieldsets.html + + +
                          + + +
                        • [+] Includes +
                            + + +
                          • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 02-about/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 04-editorial/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 05-business-model/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                          • + + +
                          +
                        • + + + +
                        + +
                      • + + + +
                      • + + + application_form/ + + aside_menu.html + + +
                          + +
                        • [+] Blocks +
                            + + +
                          • + aside_menu + + [Has Content] + [New Definition] + + + + + +
                          • + + +
                          +
                        • + + + + +
                        + +
                      • + + + +
                      • + + + application_form/ + + pagination_menu.html + + +
                          + +
                        • [+] Blocks +
                            + + +
                          • + pagination_menu + + [Has Content] + [New Definition] + + + + + +
                          • + + +
                          +
                        • + + + + +
                        + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + application_form/ + + readonly_application.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + [Scoped] + + + + + [layouts/public_base.html < publisher/publisher_base.html < application_form/readonly_application.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + js/ + + _form_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < application_form/readonly_application.html] + + +
                    + + [publisher/publisher_base.html < application_form/readonly_application.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + [Scoped] + + + + + [publisher/publisher_base.html < application_form/readonly_application.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + application_form/ + + 07-review/ + + index.html + + +
                      • + + + +
                      • + + + application_form/ + + _fieldsets.html + + +
                          + + +
                        • [+] Includes +
                            + + +
                          • + + + application_form/ + + 01-oa-compliance/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 02-about/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 03-copyright-licensing/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 04-editorial/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 05-business-model/ + + index.html + + +
                          • + + + +
                          • + + + application_form/ + + 06-best-practice/ + + index.html + + +
                          • + + +
                          +
                        • + + + +
                        + +
                      • + + + +
                      • + + + application_form/ + + aside_menu.html + + +
                          + +
                        • [+] Blocks +
                            + + +
                          • + aside_menu + + [Has Content] + [New Definition] + + + + + +
                          • + + +
                          +
                        • + + + + +
                        + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + application_already_submitted.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/application_already_submitted.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + help.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/help.html] + + +
                    + + [publisher/publisher_base.html < publisher/help.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/help.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + index.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < publisher/publisher_base.html < publisher/index.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/index.html] + + +
                    + + [publisher/publisher_base.html < publisher/index.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/index.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + journal_csv.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < publisher/publisher_base.html < publisher/journal_csv.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/journal_csv.html] + + +
                    + + [publisher/publisher_base.html < publisher/journal_csv.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/journal_csv.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + journals.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < publisher/publisher_base.html < publisher/journals.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/journals.html] + + +
                    + + [publisher/publisher_base.html < publisher/journals.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/journals.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + locked.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/locked.html] + + +
                    + + [publisher/publisher_base.html < publisher/locked.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/locked.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + metadata.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < publisher/publisher_base.html < publisher/metadata.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/metadata.html] + + +
                    + + [publisher/publisher_base.html < publisher/metadata.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/metadata.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _formhelpers.html + + +
                      • + + + +
                      • + + + formcontext/ + + _error_header.html + + +
                      • + + + +
                      • + + + formcontext/ + + article_metadata_form.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + preservation.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < publisher/publisher_base.html < publisher/preservation.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/preservation.html] + + +
                    + + [publisher/publisher_base.html < publisher/preservation.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/preservation.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + readonly.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/readonly.html] + + +
                    + + [publisher/publisher_base.html < publisher/readonly.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/readonly.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + updates_in_progress.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < publisher/publisher_base.html < publisher/updates_in_progress.html] + + + + +
                      + + +
                    • [+] Includes +
                        + + +
                      • + + + _edges_common_js.html + + +
                      • + + +
                      +
                    • + + + +
                    + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/updates_in_progress.html] + + +
                    + + [publisher/publisher_base.html < publisher/updates_in_progress.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/updates_in_progress.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + + +
              • + + + publisher/ + + uploadmetadata.html + + +
                  + +
                • [+] Blocks +
                    + + +
                  • + extra_js_bottom + + [Has Content] + + + + + + + [layouts/public_base.html < publisher/publisher_base.html < publisher/uploadmetadata.html] + + + + +
                  • + + + +
                  • + page_title + + [Has Content] + + + + + + + [layouts/base.html < layouts/public_base.html < publisher/publisher_base.html < publisher/uploadmetadata.html] + + +
                    + + [publisher/publisher_base.html < publisher/uploadmetadata.html] + + +
                    + +
                  • + + + +
                  • + publisher_content + + [Has Content] + + + + + + + [publisher/publisher_base.html < publisher/uploadmetadata.html] + + + + +
                  • + + +
                  +
                • + + + + +
                + +
              • + + +
              +
            • + +
            + +
          • + + +
          +
        • + +
        + +
      • + + +
      +
    • + +
    + +
  • + + + +
  • + + + testdrive/ + + testdrive.html + + +
  • + + +
+ + + + + + + \ No newline at end of file diff --git a/docs/redhead/templates/redhead_tree.json b/docs/redhead/templates/redhead_tree.json new file mode 100644 index 0000000000..d3beafe486 --- /dev/null +++ b/docs/redhead/templates/redhead_tree.json @@ -0,0 +1,9977 @@ +[ + { + "name": "application_form/_application_warning_msg.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_entry_group.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_entry_group_horizontal.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_field.html", + "blocks": [], + "includes": [ + { + "name": "application_form/modal.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/_form.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_group.html", + "blocks": [], + "includes": [ + { + "name": "application_form/modal.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/_list.html", + "blocks": [], + "includes": [ + { + "name": "application_form/modal.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [], + "dynamic_includes": [ + "entry_template", + "entry_template" + ] + }, + { + "name": "application_form/_value.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/maned_journal_bulk_edit.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/pagination_menu_admin.html", + "blocks": [ + { + "name": "pagination_menu", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/readonly/journal.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "data/advisory-board-council.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "data/ambassadors.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "data/publisher-supporters.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "data/sponsors.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "data/team.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "data/volunteers.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "doaj/site_note.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/account_created.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/account_password_reset.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/admin_application_ready.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/admin_background_job_finished.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/assoc_editor_application_assigned.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/assoc_editor_application_inprogress.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/assoc_editor_journal_assigned.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/discontinue_soon.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/editor_application_assigned_group.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/editor_application_completed.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/editor_application_inprogress.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/editor_journal_assigned_group.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/notification_email.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_application_accepted.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_application_editor_assigned.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_application_inprogress.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_application_received.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_application_rejected.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_update_request_accepted.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_update_request_editor_assigned.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_update_request_inprogress.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_update_request_received.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_update_request_rejected.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/publisher_update_request_revisions.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/script_tag_detected.jinja2", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/workflow_reminder_fragments/admin_age_frag", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/workflow_reminder_fragments/admin_ready_frag", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/workflow_reminder_fragments/assoc_ed_age_frag", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/workflow_reminder_fragments/editor_age_frag", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "email/workflow_reminder_fragments/editor_groupcount_frag", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_aside_in_case_of_rejection.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_sidenav_donation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_sidenav_toc.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_todo_item.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_wechat_modal.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/contribution_rates.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "layouts/base.html", + "blocks": [ + { + "name": "base_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html" + ] + ] + }, + { + "file": "layouts/public_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "extra_meta_tags", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "extra_stylesheets", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "admin/admin_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html" + ] + ] + }, + { + "file": "api/current/api_docs.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "api/current/api_docs.html" + ] + ] + }, + { + "file": "application_form/publisher_update_request.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + }, + { + "file": "editor/editor_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + }, + { + "file": "doaj/articles_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + }, + { + "file": "doaj/journals_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + }, + { + "file": "layouts/toc_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_og_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + }, + { + "file": "doaj/articles_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + }, + { + "file": "doaj/journals_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + }, + { + "file": "layouts/toc_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_og_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + }, + { + "file": "doaj/articles_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + }, + { + "file": "doaj/journals_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + }, + { + "file": "layouts/toc_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_twitter_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + }, + { + "file": "doaj/articles_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + }, + { + "file": "doaj/journals_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + }, + { + "file": "layouts/toc_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "meta_twitter_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + }, + { + "file": "doaj/articles_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + }, + { + "file": "doaj/journals_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + }, + { + "file": "layouts/toc_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "400.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "400.html" + ] + ] + }, + { + "file": "401.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "401.html" + ] + ] + }, + { + "file": "404.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "404.html" + ] + ] + }, + { + "file": "500.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "500.html" + ] + ] + }, + { + "file": "admin/application_locked.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/application_locked.html" + ] + ] + }, + { + "file": "admin/applications.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/applications.html" + ] + ] + }, + { + "file": "admin/article_metadata.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/article_metadata.html" + ] + ] + }, + { + "file": "admin/background_jobs_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/background_jobs_search.html" + ] + ] + }, + { + "file": "admin/continuation.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/continuation.html" + ] + ] + }, + { + "file": "admin/editor_group.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group.html" + ] + ] + }, + { + "file": "admin/editor_group_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group_search.html" + ] + ] + }, + { + "file": "admin/global_notifications_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/global_notifications_search.html" + ] + ] + }, + { + "file": "admin/index.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/index.html" + ] + ] + }, + { + "file": "admin/journal_locked.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/journal_locked.html" + ] + ] + }, + { + "file": "admin/update_requests.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/update_requests.html" + ] + ] + }, + { + "file": "api/current/api_docs.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "api/current/api_docs.html" + ] + ] + }, + { + "file": "application_form/assed_application.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + }, + { + "file": "application_form/assed_journal.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + }, + { + "file": "application_form/editor_application.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + }, + { + "file": "application_form/editor_journal.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + }, + { + "file": "application_form/maned_application.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + }, + { + "file": "application_form/maned_journal.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + }, + { + "file": "application_form/public_application.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "application_form/public_application.html" + ] + ] + }, + { + "file": "application_form/publisher_update_request.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + }, + { + "file": "application_form/readonly_application.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/readonly_application.html" + ] + ] + }, + { + "file": "application_form/readonly_journal.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "application_form/readonly_journal.html" + ] + ] + }, + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + }, + { + "file": "doaj/articles_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + }, + { + "file": "doaj/journals_search.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + }, + { + "file": "doaj/readonly.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "doaj/readonly.html" + ] + ] + }, + { + "file": "editor/application_locked.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/application_locked.html" + ] + ] + }, + { + "file": "editor/associate_applications.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_applications.html" + ] + ] + }, + { + "file": "editor/associate_journals.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_journals.html" + ] + ] + }, + { + "file": "editor/group_applications.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_applications.html" + ] + ] + }, + { + "file": "editor/group_journals.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_journals.html" + ] + ] + }, + { + "file": "editor/journal_locked.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/journal_locked.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html" + ] + ] + }, + { + "file": "layouts/toc_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + }, + { + "file": "publisher/application_deleted.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "publisher/application_deleted.html" + ] + ] + }, + { + "file": "publisher/help.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/help.html" + ] + ] + }, + { + "file": "publisher/index.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/index.html" + ] + ] + }, + { + "file": "publisher/journal_csv.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/journal_csv.html" + ] + ] + }, + { + "file": "publisher/journals.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/journals.html" + ] + ] + }, + { + "file": "publisher/locked.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/locked.html" + ] + ] + }, + { + "file": "publisher/metadata.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/metadata.html" + ] + ] + }, + { + "file": "publisher/preservation.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/preservation.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html" + ] + ] + }, + { + "file": "publisher/readonly.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/readonly.html" + ] + ] + }, + { + "file": "publisher/updates_in_progress.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/updates_in_progress.html" + ] + ] + }, + { + "file": "publisher/uploadmetadata.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/uploadmetadata.html" + ] + ] + }, + { + "file": "unlocked.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "unlocked.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "doaj/cookie_consent.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [ + { + "name": "layouts/dashboard_base.html", + "blocks": [ + { + "name": "base_content", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "unlocked.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "unlocked.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "body_id", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "application_form/assed_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + }, + { + "file": "application_form/assed_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + }, + { + "file": "application_form/editor_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + }, + { + "file": "application_form/editor_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + }, + { + "file": "application_form/maned_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + }, + { + "file": "application_form/maned_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "extra_header", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "admin/applications.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/applications.html" + ] + ] + }, + { + "file": "admin/article_metadata.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/article_metadata.html" + ] + ] + }, + { + "file": "admin/background_jobs_search.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/background_jobs_search.html" + ] + ] + }, + { + "file": "admin/editor_group.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group.html" + ] + ] + }, + { + "file": "admin/editor_group_search.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group_search.html" + ] + ] + }, + { + "file": "admin/global_notifications_search.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/global_notifications_search.html" + ] + ] + }, + { + "file": "admin/index.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/index.html" + ] + ] + }, + { + "file": "admin/update_requests.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/update_requests.html" + ] + ] + }, + { + "file": "application_form/assed_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + }, + { + "file": "application_form/assed_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + }, + { + "file": "application_form/editor_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + }, + { + "file": "application_form/editor_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + }, + { + "file": "application_form/maned_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + }, + { + "file": "application_form/maned_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + }, + { + "file": "dashboard/index.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "dashboard/index.html" + ] + ] + }, + { + "file": "dashboard/notifications.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "dashboard/notifications.html" + ] + ] + }, + { + "file": "editor/associate_applications.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_applications.html" + ] + ] + }, + { + "file": "editor/associate_journals.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_journals.html" + ] + ] + }, + { + "file": "editor/dashboard.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/dashboard.html" + ] + ] + }, + { + "file": "editor/group_applications.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_applications.html" + ] + ] + }, + { + "file": "editor/group_journals.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_journals.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "main_panel", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "admin/admin_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html" + ] + ] + }, + { + "file": "application_form/maned_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + }, + { + "file": "application_form/maned_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + }, + { + "file": "dashboard/index.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "dashboard/index.html" + ] + ] + }, + { + "file": "dashboard/notifications.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "dashboard/notifications.html" + ] + ] + }, + { + "file": "editor/editor_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html" + ] + ] + }, + { + "file": "unlocked.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "unlocked.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "admin/application_locked.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/application_locked.html" + ] + ] + }, + { + "file": "admin/applications.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/applications.html" + ] + ] + }, + { + "file": "admin/article_metadata.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/article_metadata.html" + ] + ] + }, + { + "file": "admin/background_jobs_search.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/background_jobs_search.html" + ] + ] + }, + { + "file": "admin/continuation.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/continuation.html" + ] + ] + }, + { + "file": "admin/editor_group.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group.html" + ] + ] + }, + { + "file": "admin/editor_group_search.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group_search.html" + ] + ] + }, + { + "file": "admin/global_notifications_search.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/global_notifications_search.html" + ] + ] + }, + { + "file": "admin/index.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/index.html" + ] + ] + }, + { + "file": "admin/journal_locked.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/journal_locked.html" + ] + ] + }, + { + "file": "admin/update_requests.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/update_requests.html" + ] + ] + }, + { + "file": "application_form/assed_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + }, + { + "file": "application_form/assed_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + }, + { + "file": "application_form/editor_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + }, + { + "file": "application_form/editor_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + }, + { + "file": "application_form/maned_application.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + }, + { + "file": "application_form/maned_journal.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + }, + { + "file": "editor/application_locked.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/application_locked.html" + ] + ] + }, + { + "file": "editor/associate_applications.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_applications.html" + ] + ] + }, + { + "file": "editor/associate_journals.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_journals.html" + ] + ] + }, + { + "file": "editor/group_applications.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_applications.html" + ] + ] + }, + { + "file": "editor/group_journals.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_journals.html" + ] + ] + }, + { + "file": "editor/journal_locked.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/journal_locked.html" + ] + ] + }, + { + "file": "unlocked.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "unlocked.html" + ] + ] + } + ], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_back-to-top.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_flash_notification.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + }, + { + "name": "nav", + "blocks": [], + "includes": [ + { + "name": "dashboard/nav.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [ + { + "file": "admin/admin_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html" + ] + ] + }, + { + "file": "editor/editor_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "_js_includes.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_tourist.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_tourist_nav.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/svg/doaj-icon.svg", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": false, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html" + ] + ] + } + ], + "scoped": false, + "dynamic_includes": [ + "config.get(\"SITE_NOTE_TEMPLATE\")" + ] + } + ], + "includes": [], + "extensions": [ + { + "name": "admin/admin_base.html", + "blocks": [ + { + "name": "content", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "admin/application_locked.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/application_locked.html" + ] + ] + }, + { + "file": "admin/applications.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/applications.html" + ] + ] + }, + { + "file": "admin/article_metadata.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/article_metadata.html" + ] + ] + }, + { + "file": "admin/background_jobs_search.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/background_jobs_search.html" + ] + ] + }, + { + "file": "admin/continuation.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/continuation.html" + ] + ] + }, + { + "file": "admin/editor_group.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/editor_group.html" + ] + ] + }, + { + "file": "admin/editor_group_search.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/editor_group_search.html" + ] + ] + }, + { + "file": "admin/global_notifications_search.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/global_notifications_search.html" + ] + ] + }, + { + "file": "admin/index.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/index.html" + ] + ] + }, + { + "file": "admin/journal_locked.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/journal_locked.html" + ] + ] + }, + { + "file": "admin/update_requests.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "admin/update_requests.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [ + { + "file": "application_form/maned_application.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + }, + { + "file": "application_form/maned_journal.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + }, + { + "file": "dashboard/index.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "dashboard/index.html" + ] + ] + } + ], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_stylesheets", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": false, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "nav", + "blocks": [], + "includes": [ + { + "name": "dashboard/nav.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "admin/application_locked.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/application_locked.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/application_locked.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/application_locked.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "admin/applications.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [ + { + "name": "management/admin/includes/_applications_and_update_requests_common.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/applications.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "management/admin/includes/_applications_and_update_requests_common_js.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/applications.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/applications.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/applications.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "admin/article_metadata.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [ + { + "name": "_formhelpers.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "formcontext/_error_header.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "formcontext/article_metadata_form.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/article_metadata.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/article_metadata.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/article_metadata.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/article_metadata.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "admin/background_jobs_search.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/background_jobs_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/background_jobs_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/background_jobs_search.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/background_jobs_search.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "admin/continuation.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [ + { + "name": "_formhelpers.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/continuation.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/continuation.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/continuation.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "admin/editor_group.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [ + { + "name": "_formhelpers.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "formcontext/_error_header.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/editor_group.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "admin/editor_group_search.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/editor_group_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group_search.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/editor_group_search.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "admin/global_notifications_search.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/global_notifications_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/global_notifications_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/global_notifications_search.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/global_notifications_search.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "admin/index.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/index.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/index.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/index.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/index.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "admin/journal_locked.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/journal_locked.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/journal_locked.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/journal_locked.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "admin/update_requests.html", + "blocks": [ + { + "name": "admin_content", + "blocks": [], + "includes": [ + { + "name": "management/admin/includes/_applications_and_update_requests_common.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": false, + "paths": [ + [ + "admin/admin_base.html", + "admin/update_requests.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "management/admin/includes/_applications_and_update_requests_common_js.html", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/update_requests.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/update_requests.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "admin/update_requests.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/maned_application.html", + "blocks": [ + { + "name": "body_id", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "application_form/editorial_form_body.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_application_diff.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_autochecks.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_backend_validation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_edit_status.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/editorial_form_fields.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "field_template" + ] + }, + { + "name": "application_form/editorial_side_panel.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_contact.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [], + "dynamic_includes": [ + "field_template", + "field_template" + ] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_application.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/maned_journal.html", + "blocks": [ + { + "name": "body_id", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "application_form/editorial_form_body.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_application_diff.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_autochecks.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_backend_validation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_edit_status.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/editorial_form_fields.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "field_template" + ] + }, + { + "name": "application_form/editorial_side_panel.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_contact.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [], + "dynamic_includes": [ + "field_template", + "field_template" + ] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "application_form/maned_journal.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "dashboard/index.html", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "dashboard/_todo.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "admin/admin_base.html", + "content": true, + "paths": [ + [ + "admin/admin_base.html", + "dashboard/index.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "dashboard/index.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "admin/admin_base.html", + "dashboard/index.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ] + }, + { + "name": "dashboard/notifications.html", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "dashboard/notifications.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "dashboard/notifications.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "editor/editor_base.html", + "blocks": [ + { + "name": "content", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "application_form/assed_application.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + }, + { + "file": "application_form/assed_journal.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + }, + { + "file": "application_form/editor_application.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + }, + { + "file": "application_form/editor_journal.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + }, + { + "file": "editor/application_locked.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "editor/application_locked.html" + ] + ] + }, + { + "file": "editor/associate_applications.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "editor/associate_applications.html" + ] + ] + }, + { + "file": "editor/associate_journals.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "editor/associate_journals.html" + ] + ] + }, + { + "file": "editor/dashboard.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "editor/dashboard.html" + ] + ] + }, + { + "file": "editor/group_applications.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "editor/group_applications.html" + ] + ] + }, + { + "file": "editor/group_journals.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "editor/group_journals.html" + ] + ] + }, + { + "file": "editor/journal_locked.html", + "content": true, + "paths": [ + [ + "editor/editor_base.html", + "editor/journal_locked.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "editor/nav.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_stylesheets", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": false, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "nav", + "blocks": [], + "includes": [ + { + "name": "editor/nav.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "application_form/assed_application.html", + "blocks": [ + { + "name": "body_id", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "editor_content", + "blocks": [], + "includes": [ + { + "name": "application_form/editorial_form_body.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_application_diff.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_autochecks.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_backend_validation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_edit_status.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/editorial_form_fields.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "field_template" + ] + }, + { + "name": "application_form/editorial_side_panel.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_contact.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [], + "dynamic_includes": [ + "field_template", + "field_template" + ] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_application.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/assed_journal.html", + "blocks": [ + { + "name": "body_id", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "editor_content", + "blocks": [], + "includes": [ + { + "name": "application_form/editorial_form_body.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_application_diff.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_autochecks.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_backend_validation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_edit_status.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/editorial_form_fields.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "field_template" + ] + }, + { + "name": "application_form/editorial_side_panel.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_contact.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [], + "dynamic_includes": [ + "field_template", + "field_template" + ] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/assed_journal.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/editor_application.html", + "blocks": [ + { + "name": "body_id", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "editor_content", + "blocks": [], + "includes": [ + { + "name": "application_form/editorial_form_body.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_application_diff.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_autochecks.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_backend_validation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_edit_status.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/editorial_form_fields.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "field_template" + ] + }, + { + "name": "application_form/editorial_side_panel.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_contact.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [], + "dynamic_includes": [ + "field_template", + "field_template" + ] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_application.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/editor_journal.html", + "blocks": [ + { + "name": "body_id", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "editor_content", + "blocks": [], + "includes": [ + { + "name": "application_form/editorial_form_body.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_application_diff.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_autochecks.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_backend_validation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_edit_status.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/editorial_form_fields.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "field_template" + ] + }, + { + "name": "application_form/editorial_side_panel.html", + "blocks": [], + "includes": [ + { + "name": "application_form/_contact.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [], + "dynamic_includes": [ + "field_template", + "field_template" + ] + }, + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "application_form/editor_journal.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "editor/application_locked.html", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "editor/application_locked.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/application_locked.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/application_locked.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "editor/associate_applications.html", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "editor/associate_applications.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_applications.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_applications.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_applications.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "editor/associate_journals.html", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "editor/associate_journals.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_journals.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_journals.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/associate_journals.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "editor/dashboard.html", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [ + { + "name": "dashboard/_todo.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "editor/dashboard.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/dashboard.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "editor/group_applications.html", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "editor/group_applications.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_applications.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_applications.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_applications.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "editor/group_journals.html", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "editor/group_journals.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_journals.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_journals.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/group_journals.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [ + { + "name": "_edges_common_css.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "editor/journal_locked.html", + "blocks": [ + { + "name": "editor_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "editor/editor_base.html", + "content": false, + "paths": [ + [ + "editor/editor_base.html", + "editor/journal_locked.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/journal_locked.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "editor/editor_base.html", + "editor/journal_locked.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ] + }, + { + "name": "unlocked.html", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "unlocked.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/dashboard_base.html", + "content": false, + "paths": [ + [ + "layouts/dashboard_base.html", + "unlocked.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/dashboard_base.html", + "unlocked.html" + ] + ] + }, + { + "file": "layouts/dashboard_base.html", + "content": true, + "paths": [ + [ + "layouts/dashboard_base.html", + "unlocked.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ] + }, + { + "name": "layouts/public_base.html", + "blocks": [ + { + "name": "base_content", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "400.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html", + "400.html" + ] + ] + }, + { + "file": "401.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html", + "401.html" + ] + ] + }, + { + "file": "404.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html", + "404.html" + ] + ] + }, + { + "file": "500.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html", + "500.html" + ] + ] + }, + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "doaj/article.html" + ] + ] + }, + { + "file": "layouts/toc_base.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "extra_header", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [], + "overrides": [], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "api/current/api_docs.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "api/current/api_docs.html" + ] + ] + }, + { + "file": "application_form/public_application.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "application_form/public_application.html" + ] + ] + }, + { + "file": "application_form/publisher_update_request.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + }, + { + "file": "application_form/readonly_application.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/readonly_application.html" + ] + ] + }, + { + "file": "application_form/readonly_journal.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "application_form/readonly_journal.html" + ] + ] + }, + { + "file": "doaj/articles_search.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + }, + { + "file": "doaj/contact.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "doaj/contact.html" + ] + ] + }, + { + "file": "doaj/journals_search.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + }, + { + "file": "doaj/toc_articles.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "layouts/toc_base.html", + "doaj/toc_articles.html" + ] + ] + }, + { + "file": "publisher/index.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/index.html" + ] + ] + }, + { + "file": "publisher/journal_csv.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/journal_csv.html" + ] + ] + }, + { + "file": "publisher/journals.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/journals.html" + ] + ] + }, + { + "file": "publisher/metadata.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/metadata.html" + ] + ] + }, + { + "file": "publisher/preservation.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/preservation.html" + ] + ] + }, + { + "file": "publisher/updates_in_progress.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/updates_in_progress.html" + ] + ] + }, + { + "file": "publisher/uploadmetadata.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/uploadmetadata.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "main_panel", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "api/current/api_docs.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "api/current/api_docs.html" + ] + ] + }, + { + "file": "application_form/public_application.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "application_form/public_application.html" + ] + ] + }, + { + "file": "application_form/readonly_journal.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "application_form/readonly_journal.html" + ] + ] + }, + { + "file": "doaj/article.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "doaj/article.html" + ] + ] + }, + { + "file": "doaj/articles_search.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + }, + { + "file": "doaj/contact.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "doaj/contact.html" + ] + ] + }, + { + "file": "doaj/journals_search.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + }, + { + "file": "layouts/single_col_page.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html" + ] + ] + }, + { + "file": "layouts/toc_base.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + }, + { + "file": "openurl/404.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "openurl/404.html" + ] + ] + }, + { + "file": "openurl/help.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "openurl/help.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "_js_includes.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_flash_notification.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_quick_search_modal.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/footer.html", + "blocks": [], + "includes": [ + { + "name": "includes/_back-to-top.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/_nav_modals.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "entry.modal.include" + ] + }, + { + "name": "includes/footer-column.html", + "blocks": [], + "includes": [ + { + "name": "includes/menu-items.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "entry.include" + ] + } + ], + "extensions": [] + }, + { + "name": "includes/menu-items.html", + "blocks": [], + "includes": [], + "extensions": [], + "dynamic_includes": [ + "entry.include" + ] + } + ], + "extensions": [] + }, + { + "name": "includes/header.html", + "blocks": [], + "includes": [ + { + "name": "includes/_header-secondary-navigation-account.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/header-primary-navigation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/header-secondary-navigation.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": false, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html" + ] + ] + } + ], + "scoped": false, + "dynamic_includes": [ + "config.get(\"SITE_NOTE_TEMPLATE\")" + ] + } + ], + "includes": [], + "extensions": [ + { + "name": "api/current/api_docs.html", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "api/current/extra_docs.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "api/current/swagger_description.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "api/current/api_docs.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "api/current/api_docs.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_stylesheets", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": false, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "api/current/api_docs.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "api/current/api_docs.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/public_application.html", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "application_form/07-review/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_backend_validation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_buttons.html", + "blocks": [ + { + "name": "buttons", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/aside_menu.html", + "blocks": [ + { + "name": "aside_menu", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/pagination_menu.html", + "blocks": [ + { + "name": "pagination_menu", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "application_form/public_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "application_form/public_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "application_form/public_application.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/readonly_journal.html", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "application_form/07-review/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/aside_menu.html", + "blocks": [ + { + "name": "aside_menu", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "application_form/readonly_journal.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "application_form/readonly_journal.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "application_form/readonly_journal.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "doaj/article.html", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_meta_tags", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": false, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_description", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_article_meta_description.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_description", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_article_meta_description.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_title", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_article_meta_title.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_description", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_article_meta_description.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_title", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_article_meta_title.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_article_meta_title.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/article.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "doaj/articles_search.html", + "blocks": [ + { + "name": "body_attrs", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + }, + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "includes/search-help-modal.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/articles_search.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "doaj/contact.html", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "_formhelpers.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "doaj/contact.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "doaj/contact.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "doaj/journals_search.html", + "blocks": [ + { + "name": "body_attrs", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + }, + { + "name": "content", + "blocks": [], + "includes": [ + { + "name": "includes/search-help-modal.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_description", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "doaj/journals_search.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "layouts/single_col_page.html", + "blocks": [ + { + "name": "content", + "blocks": [ + { + "name": "single_col_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "400.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "400.html" + ] + ] + }, + { + "file": "401.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "401.html" + ] + ] + }, + { + "file": "404.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "404.html" + ] + ] + }, + { + "file": "500.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "500.html" + ] + ] + }, + { + "file": "doaj/readonly.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "doaj/readonly.html" + ] + ] + }, + { + "file": "publisher/application_deleted.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "publisher/application_deleted.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + }, + { + "name": "title", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "400.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "400.html" + ] + ] + }, + { + "file": "401.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "401.html" + ] + ] + }, + { + "file": "404.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "404.html" + ] + ] + }, + { + "file": "500.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "500.html" + ] + ] + }, + { + "file": "doaj/readonly.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "doaj/readonly.html" + ] + ] + }, + { + "file": "publisher/application_deleted.html", + "content": true, + "paths": [ + [ + "layouts/single_col_page.html", + "publisher/application_deleted.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "400.html", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html", + "400.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "400.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "single_col_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "400.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "400.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "401.html", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html", + "401.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "401.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "single_col_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "401.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "401.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "404.html", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html", + "404.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "404.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "single_col_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "404.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "404.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "500.html", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "layouts/single_col_page.html", + "500.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "500.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "single_col_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "500.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "500.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "doaj/readonly.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "doaj/readonly.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "single_col_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "doaj/readonly.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "doaj/readonly.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/application_deleted.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/single_col_page.html", + "publisher/application_deleted.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "single_col_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "publisher/application_deleted.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/single_col_page.html", + "content": false, + "paths": [ + [ + "layouts/single_col_page.html", + "publisher/application_deleted.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ] + }, + { + "name": "layouts/toc_base.html", + "blocks": [ + { + "name": "body_class", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "content", + "blocks": [ + { + "name": "toc_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "doaj/toc.html", + "content": true, + "paths": [ + [ + "layouts/toc_base.html", + "doaj/toc.html" + ] + ] + }, + { + "file": "doaj/toc_articles.html", + "content": true, + "paths": [ + [ + "layouts/toc_base.html", + "doaj/toc_articles.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "includes/svg/seal.svg", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_description", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_journal_meta_description.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_description", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_journal_meta_description.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_og_title", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_journal_meta_title.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_description", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_journal_meta_description.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "meta_twitter_title", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_journal_meta_title.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [ + { + "name": "doaj/includes/_journal_meta_title.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "layouts/toc_base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "doaj/toc.html", + "blocks": [ + { + "name": "toc_content", + "blocks": [], + "includes": [ + { + "name": "includes/svg/by.svg", + "unresolved": true + }, + { + "name": "includes/svg/cc.svg", + "unresolved": true + }, + { + "name": "includes/svg/copyright.svg", + "unresolved": true + }, + { + "name": "includes/svg/nc.svg", + "unresolved": true + }, + { + "name": "includes/svg/nd.svg", + "unresolved": true + }, + { + "name": "includes/svg/sa.svg", + "unresolved": true + }, + { + "name": "includes/svg/zero.svg", + "unresolved": true + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/toc_base.html", + "content": false, + "paths": [ + [ + "layouts/toc_base.html", + "doaj/toc.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "doaj/toc_articles.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "layouts/toc_base.html", + "doaj/toc_articles.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "toc_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/toc_base.html", + "content": false, + "paths": [ + [ + "layouts/toc_base.html", + "doaj/toc_articles.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ] + }, + { + "name": "openurl/404.html", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "openurl/404.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "openurl/help.html", + "blocks": [ + { + "name": "content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "openurl/help.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/publisher_base.html", + "blocks": [ + { + "name": "content", + "blocks": [ + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": false, + "overridden_by": [ + { + "file": "application_form/publisher_update_request.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + }, + { + "file": "application_form/readonly_application.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/readonly_application.html" + ] + ] + }, + { + "file": "publisher/application_already_submitted.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/application_already_submitted.html" + ] + ] + }, + { + "file": "publisher/help.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/help.html" + ] + ] + }, + { + "file": "publisher/index.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/index.html" + ] + ] + }, + { + "file": "publisher/journal_csv.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/journal_csv.html" + ] + ] + }, + { + "file": "publisher/journals.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/journals.html" + ] + ] + }, + { + "file": "publisher/locked.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/locked.html" + ] + ] + }, + { + "file": "publisher/metadata.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/metadata.html" + ] + ] + }, + { + "file": "publisher/preservation.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/preservation.html" + ] + ] + }, + { + "file": "publisher/readonly.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/readonly.html" + ] + ] + }, + { + "file": "publisher/updates_in_progress.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/updates_in_progress.html" + ] + ] + }, + { + "file": "publisher/uploadmetadata.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/uploadmetadata.html" + ] + ] + } + ], + "overrides": [], + "scoped": false + } + ], + "includes": [ + { + "name": "includes/_hotjar.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/nav.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "extra_stylesheets", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "application_form/publisher_update_request.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + } + ], + "overrides": [ + { + "file": "layouts/base.html", + "content": false, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [ + { + "file": "application_form/publisher_update_request.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + }, + { + "file": "application_form/readonly_application.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/readonly_application.html" + ] + ] + }, + { + "file": "publisher/help.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/help.html" + ] + ] + }, + { + "file": "publisher/index.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/index.html" + ] + ] + }, + { + "file": "publisher/journal_csv.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/journal_csv.html" + ] + ] + }, + { + "file": "publisher/journals.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/journals.html" + ] + ] + }, + { + "file": "publisher/locked.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/locked.html" + ] + ] + }, + { + "file": "publisher/metadata.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/metadata.html" + ] + ] + }, + { + "file": "publisher/preservation.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/preservation.html" + ] + ] + }, + { + "file": "publisher/readonly.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/readonly.html" + ] + ] + }, + { + "file": "publisher/updates_in_progress.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/updates_in_progress.html" + ] + ] + }, + { + "file": "publisher/uploadmetadata.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/uploadmetadata.html" + ] + ] + } + ], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [ + { + "name": "application_form/publisher_update_request.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "extra_stylesheets", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": false, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [ + { + "name": "application_form/07-review/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_backend_validation.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_buttons.html", + "blocks": [ + { + "name": "buttons", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/aside_menu.html", + "blocks": [ + { + "name": "aside_menu", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/pagination_menu.html", + "blocks": [ + { + "name": "pagination_menu", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/publisher_update_request.html" + ] + ] + } + ], + "scoped": true + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/readonly_application.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "application_form/js/_form_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/readonly_application.html" + ] + ] + } + ], + "scoped": true + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "application_form/readonly_application.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/readonly_application.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [ + { + "name": "application_form/07-review/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/_fieldsets.html", + "blocks": [], + "includes": [ + { + "name": "application_form/01-oa-compliance/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/02-about/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/03-copyright-licensing/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/04-editorial/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/05-business-model/index.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "application_form/06-best-practice/index.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "extensions": [] + }, + { + "name": "application_form/aside_menu.html", + "blocks": [ + { + "name": "aside_menu", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "application_form/readonly_application.html" + ] + ] + } + ], + "scoped": true + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/application_already_submitted.html", + "blocks": [ + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/application_already_submitted.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/help.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/help.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/help.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/help.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/index.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/index.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/index.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/index.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/index.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/journal_csv.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/journal_csv.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/journal_csv.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/journal_csv.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/journal_csv.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/journals.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/journals.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/journals.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/journals.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/journals.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/locked.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/locked.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/locked.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/locked.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/metadata.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/metadata.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/metadata.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/metadata.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [ + { + "name": "_formhelpers.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "formcontext/_error_header.html", + "blocks": [], + "includes": [], + "extensions": [] + }, + { + "name": "formcontext/article_metadata_form.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/metadata.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/preservation.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/preservation.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/preservation.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/preservation.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/preservation.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/readonly.html", + "blocks": [ + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/readonly.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/readonly.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/readonly.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/updates_in_progress.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [ + { + "name": "_edges_common_js.html", + "blocks": [], + "includes": [], + "extensions": [] + } + ], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/updates_in_progress.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/updates_in_progress.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/updates_in_progress.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/updates_in_progress.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + }, + { + "name": "publisher/uploadmetadata.html", + "blocks": [ + { + "name": "extra_js_bottom", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/public_base.html", + "content": false, + "paths": [ + [ + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/uploadmetadata.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "page_title", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "layouts/base.html", + "content": true, + "paths": [ + [ + "layouts/base.html", + "layouts/public_base.html", + "publisher/publisher_base.html", + "publisher/uploadmetadata.html" + ] + ] + }, + { + "file": "publisher/publisher_base.html", + "content": true, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/uploadmetadata.html" + ] + ] + } + ], + "scoped": false + }, + { + "name": "publisher_content", + "blocks": [], + "includes": [], + "content": true, + "overridden_by": [], + "overrides": [ + { + "file": "publisher/publisher_base.html", + "content": false, + "paths": [ + [ + "publisher/publisher_base.html", + "publisher/uploadmetadata.html" + ] + ] + } + ], + "scoped": false + } + ], + "includes": [], + "extensions": [] + } + ] + } + ] + } + ] + }, + { + "name": "testdrive/testdrive.html", + "blocks": [], + "includes": [], + "extensions": [] + } +] \ No newline at end of file diff --git a/history/history.json b/history/history.json index 7b3391ac39..ef284e37d7 100644 --- a/history/history.json +++ b/history/history.json @@ -1,17 +1,17 @@ { "new" : [ { - "tar" : "history.20210519.app1.tar.gz", - "source" : "web-2019" + "tar" : "history.20240905.app1.tar.gz", + "source" : "web-2021" }, { - "tar" : "history.20210519.bg1.tar.gz", - "source" : "background-2019" + "tar" : "history.20240905.bg1.tar.gz", + "source" : "background-2022" } ], "existing" : [ - "article_2021_background-2019.tar.gz", - "article_2021_web-2019.tar.gz", - "journal_2021_background-2019.tar.gz" + "article_2024_background-2022.tar.gz", + "article_2024_web-2021.tar.gz", + "journal_2024_background-2022.tar.gz" ] } \ No newline at end of file diff --git a/portality/api/common.py b/portality/api/common.py index 5a5bbf9932..9930182a5b 100644 --- a/portality/api/common.py +++ b/portality/api/common.py @@ -53,7 +53,7 @@ class Api(object): "contains bad data"} SWAG_API_KEY_REQ_PARAM = { - "description": "
Go to 'MY ACCOUNT' and 'Settings' to find your API key. If there is no key, click 'Generate a new API key'. If you do not see that button, contact us.", + "description": "
Go to 'DASHBOARD' and 'Settings' to find your API key. If there is no key, click 'Generate a new API key'. If you do not see that button, contact us.", "required": True, "type": "string", "name": "api_key", diff --git a/portality/api/current/bulk/applications.py b/portality/api/current/bulk/applications.py index 9665035bac..233e365366 100644 --- a/portality/api/current/bulk/applications.py +++ b/portality/api/current/bulk/applications.py @@ -12,14 +12,14 @@ class ApplicationsBulkApi(CrudApi): # ~~->API:Documentation~~ SWAG_TAG = 'Bulk API' SWAG_DELETE_PARAM = { - "description": "
List of DOAJ application IDs to be deleted. You must own all of the ids, and they must all not have entered the DOAJ workflow yet, or none of them will be processed.e.g. [4cf8b72139a749c88d043129f00e1b07, 8e896b60-35f1-4cd3-b3f9-07f7f29d8a98].
", + "description": "
List of DOAJ application IDs to be deleted. You must own all the IDs, and none of them should have entered the DOAJ workflow yet. Otherwise, processing will stop. e.g. [4cf8b72139a749c88d043129f00e1b07, 8e896b60-35f1-4cd3-b3f9-07f7f29d8a98].
", "required": True, "schema": {"type" : "string"}, "name": "application_ids", "in": "body" } SWAG_APPLICATION_BODY_PARAM = { - "description": "
List of Application JSON objects that you would like to create. Each element of the list should comply with the schema displayed in the GET (Retrieve) an application route.
", + "description": "
List of Application JSON objects that you would like to create. Each element of the list should comply with the schema displayed in the 'GET (Retrieve) an application route' below.
", "required": True, "schema": {"type" : "string"}, "name": "application_json", diff --git a/portality/api/current/bulk/articles.py b/portality/api/current/bulk/articles.py index 425293a13d..758ad8a999 100644 --- a/portality/api/current/bulk/articles.py +++ b/portality/api/current/bulk/articles.py @@ -23,7 +23,7 @@ def create_swag(cls): template = deepcopy(cls.SWAG_TEMPLATE) template['parameters'].append( { - "description": "
A list/array of article JSON objects that you would like to create or update. The contents should be a list, and each object in the list should comply with the schema displayed in the GET (Retrieve) an article route. Partial updates are not allowed, you have to supply the full JSON.
", + "description": "
A list/array of article JSON objects that you would like to create or update. The contents should be a list, and each object in the list should comply with the schema displayed in the 'GET (Retrieve) an article route' below. Partial updates are not allowed; you have to supply the full JSON.
", "required": True, "schema": {"type": "string"}, "name": "article_json", @@ -70,7 +70,7 @@ def create_async_swag(cls): template = deepcopy(cls.SWAG_TEMPLATE) template['parameters'].append( { - "description": "

A list/array of article JSON objects that you would like to create or update. The contents should be a list, and each object in the list should comply with the schema displayed in the GET (Retrieve) an article route. Partial updates are not allowed, you have to supply the full JSON.

This request is asynchronous, the response will contain an upload_id, you can use this id to query the task status.

", + "description": "

A list/array of article JSON objects that you would like to create or update. The contents should be a list, and each object in the list should comply with the schema displayed in the 'GET (Retrieve) an article route' below. Partial updates are not allowed; you have to supply the full JSON.

This request is asynchronous; the response will contain an upload_id. You can use this id to query the task status.

", "required": True, "schema": {"type": "string"}, "name": "article_json", @@ -85,12 +85,12 @@ def create_async_swag(cls): "msg": {"type": "string", }, "upload_id": {"type": "string", "description": "The upload id of the task, " - "User can use this id to check the bulk upload status."}, + "User can use this ID to check the bulk upload status."}, "status": {"type": "string", "description": "Link to the status URL for the task"} }, "type": "object" }, - "description": "Resources are being created asynchronously, response contains the task IDs " + "description": "Resources are being created asynchronously; response contains the task IDs " } template['responses']['400'] = cls.R400 return cls._build_swag_response(template) @@ -128,7 +128,7 @@ def get_async_status_swag(cls): "status": { "type": "string", "description": "The status of the task", - "enum": ["pending", "validated", "falied", "processed", "processed_partial"] + "enum": ["pending", "validated", "failed", "processed", "processed_partial"] }, "results": { 'type': 'object', diff --git a/portality/api/current/crud/applications.py b/portality/api/current/crud/applications.py index 643094c857..f9bfcd6df0 100644 --- a/portality/api/current/crud/applications.py +++ b/portality/api/current/crud/applications.py @@ -13,6 +13,7 @@ from portality import lock from portality.crosswalks.application_form import ApplicationFormXWalk from portality.forms.application_forms import ApplicationFormFactory +from portality.ui import templates from copy import deepcopy @@ -35,8 +36,8 @@ class ApplicationsCrudApi(CrudApi): "description": """
Application JSON that you would like to create or update. The contents should comply with the schema displayed in the GET (Retrieve) an application route. - Explicit documentation for the structure of this data is also provided here. - Partial updates are not allowed, you have to supply the full JSON.
""", + Explicit documentation for the structure of this data is available. + Partial updates are not allowed; you have to supply the full JSON.
""", "required": True, "schema": {"type" : "string"}, "name": "application_json", @@ -55,12 +56,12 @@ def create_swag(cls): @classmethod def create(cls, data, account, dry_run=False): - # as long as authentication (in the layer above) has been successful, and the account exists, then + # as long as authentication (in the layer above) has been successful and the account exists, then # we are good to proceed if account is None: raise Api401Error() - # first thing to do is a structural validation, by instantiating the data object + # first thing to do is a structural validation by instantiating the data object try: ia = IncomingApplication(data) # ~~-> APIIncomingApplication:Model~~ except seamless.SeamlessException as e: @@ -78,7 +79,7 @@ def create(cls, data, account, dry_run=False): app_email.send_mail(to=to, fro=fro, subject=subject, - template_name="email/script_tag_detected.jinja2", + template_name=templates.EMAIL_SCRIPT_TAG_DETECTED, es_type=es_type, data=jdata) except app_email.EmailException: @@ -185,7 +186,7 @@ def retrieve_swag(cls): @classmethod def retrieve(cls, id, account): - # as long as authentication (in the layer above) has been successful, and the account exists, then + # as long as authentication (in the layer above) has been successful and the account exists, then # we are good to proceed if account is None: raise Api401Error() @@ -195,12 +196,12 @@ def retrieve(cls, id, account): if ap is None: raise Api404Error() - # is the current account the owner of the application - # if not we raise a 404 because that id does not exist for that user account. + # is the current account the owner of the application? + # if not we raise a 404 because that ID does not exist for that user account. if not account.is_super and ap.owner != account.id: raise Api404Error() - # if we get to here we're going to give the user back the application + # if we get to here, we're going to give the user back the application oa = OutgoingApplication.from_model(ap) # ~~->APIOutgoingApplication:Model~~ return oa @@ -219,12 +220,12 @@ def update_swag(cls): @classmethod def update(cls, id, data, account): - # as long as authentication (in the layer above) has been successful, and the account exists, then + # as long as authentication (in the layer above) has been successful and the account exists, then # we are good to proceed if account is None: raise Api401Error() - # next thing to do is a structural validation of the replacement data, by instantiating the object + # next thing to do is a structural validation of the replacement data by instantiating the object try: ia = IncomingApplication(data) # ~~->APIIncomingApplication:Model~~ except seamless.SeamlessException as e: @@ -304,7 +305,7 @@ def update(cls, id, data, account): authService.can_edit_application(account, ap) except AuthoriseException as e: if e.reason == e.WRONG_STATUS: - raise Api403Error("The application is no longer in a state in which it can be edited via the API") + raise Api403Error("The application can no longer be edited via the API") else: raise Api404Error() @@ -337,7 +338,7 @@ def delete_swag(cls): @classmethod def delete(cls, id, account, dry_run=False): - # as long as authentication (in the layer above) has been successful, and the account exists, then + # as long as authentication (in the layer above) has been successful and the account exists, then # we are good to proceed if account is None: raise Api401Error() diff --git a/portality/api/current/crud/articles.py b/portality/api/current/crud/articles.py index 8ecbc63dd7..c416f5c1f0 100644 --- a/portality/api/current/crud/articles.py +++ b/portality/api/current/crud/articles.py @@ -15,6 +15,7 @@ IngestException from portality.dao import ElasticSearchWriteException, DAOSaveExceptionMaxRetriesReached from copy import deepcopy +from portality.ui import templates class ArticlesCrudApi(CrudApi): @@ -35,8 +36,8 @@ class ArticlesCrudApi(CrudApi): "description": """
Article JSON that you would like to create or update. The contents should comply with the schema displayed in the GET (Retrieve) an article route. - Explicit documentation for the structure of this data is also provided here. - Partial updates are not allowed, you have to supply the full JSON.
""", + Explicit documentation for the structure of this data is available. + Partial updates are not allowed; you have to supply the full JSON.
""", "required": True, "schema": {"type" : "string"}, "name": "article_json", @@ -55,7 +56,7 @@ def __handle_journal_info(cls, am): try: am.add_journal_metadata() # overwrite journal part of metadata and in_doaj setting except models.NoJournalException as e: - raise Api400Error("No journal found to attach article to. Each article in DOAJ must belong to a journal and the (E)ISSNs provided in the bibjson.identifiers section of this article record do not match any DOAJ journal.") + raise Api400Error("No journal found to attach the article to. The ISSN(s) provided in the bibjson.identifiers section of this article record do not match any DOAJ journal.") # restore the user's data am.bibjson().number = number @@ -102,7 +103,7 @@ def create(cls, data, account): # Check we are allowed to create an article for this journal if result.get("fail", 0) == 1: - raise Api403Error("It is not possible to create an article for this journal. Have you included in the upload an ISSN which is not associated with any journal in your account? ISSNs must match exactly the ISSNs against the journal record.") + raise Api403Error("It is not possible to create an article for this journal. Does the upload include an ISSN that is not associated with any journal in your account? ISSNs must match exactly the ISSNs in the journal record.") return am @@ -137,7 +138,7 @@ def prep_article(cls, data: Dict, account: models.Account) -> models.Article: app_email.send_mail(to=to, fro=fro, subject=subject, - template_name="email/script_tag_detected.jinja2", + template_name=templates.EMAIL_SCRIPT_TAG_DETECTED, es_type=es_type, data=jdata) except app_email.EmailException: @@ -148,9 +149,9 @@ def prep_article(cls, data: Dict, account: models.Account) -> models.Article: am = ia.to_article_model() # the user may have supplied metadata in the model for id and created_date - # and we want to can that data. If this is a truly new article its fine for - # us to assign a new id here, and if it's a duplicate, it will get attached - # to its duplicate id anyway. + # and we want to can that data. If this is a truly new article, it's fine for + # us to assign a new ID here, and if it's a duplicate, it will get attached + # to its duplicate ID anyway. am.set_id() am.set_created() @@ -217,7 +218,7 @@ def update_swag(cls): @classmethod def update(cls, id, data, account): - # as long as authentication (in the layer above) has been successful, and the account exists, then + # as long as authentication (in the layer above) has been successful and the account exists, then # we are good to proceed if account is None: raise Api401Error() diff --git a/portality/api/current/crud/journals.py b/portality/api/current/crud/journals.py index 1650672ad4..1e125959bd 100644 --- a/portality/api/current/crud/journals.py +++ b/portality/api/current/crud/journals.py @@ -29,8 +29,7 @@ def retrieve_swag(cls): template['responses']['200'] = cls.R200 template['responses']['200']['schema'] = OutgoingJournal().struct_to_swag(schema_title='Journal schema', struct=JOURNAL_STRUCT) - template['responses']['200']['description'] = 'Detailed documentation on the response format is available here ' + template['responses']['200']['description'] = 'Detailed documentation on the response format is available. ' template['responses']['404'] = cls.R404 return cls._build_swag_response(template, api_key_override=False) diff --git a/portality/api/current/data_objects/application.py b/portality/api/current/data_objects/application.py index a88e9ff32c..5186d2fd0d 100644 --- a/portality/api/current/data_objects/application.py +++ b/portality/api/current/data_objects/application.py @@ -178,7 +178,7 @@ def custom_validate(self): # check they are not the same if pissn is not None and eissn is not None: if pissn == eissn: - raise seamless.SeamlessException("P-ISSN and E-ISSN should be different") + raise seamless.SeamlessException("Print ISSN and Online ISSN should be different") # A link to the journal homepage is required # diff --git a/portality/api/current/data_objects/article.py b/portality/api/current/data_objects/article.py index 081c6f4539..1c733e8051 100644 --- a/portality/api/current/data_objects/article.py +++ b/portality/api/current/data_objects/article.py @@ -210,7 +210,7 @@ def custom_validate(self): # check that there are identifiers at all identifiers = self.bibjson.identifier if identifiers is None or len(identifiers) == 0: - raise dataobj.DataStructureException("You must specify at least one of P-ISSN or E-ISSN in bibjson.identifier") + raise dataobj.DataStructureException("You must specify at least one Print ISSN or online ISSN in bibjson.identifier") # extract the p/e-issn identifier objects pissn = None @@ -223,7 +223,7 @@ def custom_validate(self): # check that at least one of them appears if pissn is None and eissn is None: - raise dataobj.DataStructureException("You must specify at least one of P-ISSN or E-ISSN in bibjson.identifier") + raise dataobj.DataStructureException("You must specify at least one Print ISSN or online ISSN in bibjson.identifier") # normalise the ids if pissn is not None: @@ -234,7 +234,7 @@ def custom_validate(self): # check they are not the same if pissn is not None and eissn is not None: if pissn.id == eissn.id: - raise dataobj.DataStructureException("P-ISSN and E-ISSN should be different") + raise dataobj.DataStructureException("Print ISSN and online ISSN should be different") # check removed: https://github.com/DOAJ/doajPM/issues/2950 diff --git a/portality/api/current/discovery_api_application_swag.json b/portality/api/current/discovery_api_application_swag.json index 1a58bec55c..4936d18646 100644 --- a/portality/api/current/discovery_api_application_swag.json +++ b/portality/api/current/discovery_api_application_swag.json @@ -264,28 +264,28 @@ }, "parameters": [ { - "description": "
Go to 'MY ACCOUNT' and 'Settings' to find your API key. If there is no key, click 'Generate a new API key'. If you do not see that button, contact us.", + "description": "
Go to 'DASHBOARD' and 'Settings' to find your API key. If there is no key, click 'Generate a new API key'. If you do not see that button, contact us.", "required": true, "type": "string", "name": "api_key", "in": "query" }, { - "description": "
What you are searching for, e.g. computers

You can search inside any field you see in the results or the schema. More details
For example, to search for all journals tagged with the keyword \"heritage\"
bibjson.keywords:heritage
Short-hand names are available for some fields
issn:1874-9496
publisher:dove
", + "description": "
What you are searching for, e.g. computers.

You can search in any field in the results or schema. More details
For example, to search for all journals tagged with the keyword \"heritage\"
bibjson.keywords:heritage
Short-hand names are available for some fields
issn:2212-4276
publisher:sciendo
", "required": true, "type": "string", "name": "search_query", "in": "path" }, { - "description": "Which page of the results you wish to see.", + "description": "Which page of the results you wish to see", "required": false, "type": "integer", "name": "page", "in": "query" }, { - "description": "How many results per page you wish to see, the default is 10.", + "description": "How many results per page you wish to see; the default is 10", "required": false, "type": "integer", "name": "pageSize", diff --git a/portality/api/current/discovery_api_article_swag.json b/portality/api/current/discovery_api_article_swag.json index 1c75e89b58..a082ae10d4 100644 --- a/portality/api/current/discovery_api_article_swag.json +++ b/portality/api/current/discovery_api_article_swag.json @@ -187,14 +187,14 @@ "in": "path" }, { - "description": "Which page of the results you wish to see.", + "description": "Which page of the results you want to see.", "required": false, "type": "integer", "name": "page", "in": "query" }, { - "description": "How many results per page you wish to see, the default is 10.", + "description": "How many results per page you want to see. The default is 10.", "required": false, "type": "integer", "name": "pageSize", @@ -211,4 +211,4 @@ "tags": [ "Search" ] -} \ No newline at end of file +} diff --git a/portality/api/current/discovery_api_journal_swag.json b/portality/api/current/discovery_api_journal_swag.json index a01b421294..352ce21666 100644 --- a/portality/api/current/discovery_api_journal_swag.json +++ b/portality/api/current/discovery_api_journal_swag.json @@ -271,14 +271,14 @@ "in": "path" }, { - "description": "Which page of the results you wish to see.", + "description": "Which page of the results you want to see.", "required": false, "type": "integer", "name": "page", "in": "query" }, { - "description": "How many results per page you wish to see, the default is 10.", + "description": "How many results per page you want to see. The default is 10.", "required": false, "type": "integer", "name": "pageSize", @@ -295,4 +295,4 @@ "tags": [ "Search" ] -} \ No newline at end of file +} diff --git a/portality/app.py b/portality/app.py index 2b6e5115a2..0ad6e4f609 100644 --- a/portality/app.py +++ b/portality/app.py @@ -26,6 +26,7 @@ from portality import settings from portality.lib import edges, dates from portality.lib.dates import FMT_DATETIME_STD, FMT_YEAR +from portality.ui import templates from portality.view.account import blueprint as account from portality.view.admin import blueprint as admin @@ -422,22 +423,22 @@ def get_site_key(): @app.errorhandler(400) def page_not_found(e): - return render_template('400.html'), 400 + return render_template(templates.ERROR_400), 400 @app.errorhandler(401) def page_not_found(e): - return render_template('401.html'), 401 + return render_template(templates.ERROR_401), 401 @app.errorhandler(404) def page_not_found(e): - return render_template('404.html'), 404 + return render_template(templates.ERROR_404), 404 @app.errorhandler(500) def page_not_found(e): - return render_template('500.html'), 500 + return render_template(templates.ERROR_500), 500 @app.errorhandler(elasticsearch.exceptions.RequestError) diff --git a/portality/bll/services/application.py b/portality/bll/services/application.py index 09e6f013b1..3f46cc14c1 100644 --- a/portality/bll/services/application.py +++ b/portality/bll/services/application.py @@ -52,6 +52,7 @@ def reject_application(self, application, account, provenance=True, note=None, m :param application: :param account: :param provenance: + :param note: :param manual_update: :return: """ @@ -558,7 +559,7 @@ def delete_application(self, application_id, account): if application.related_journal is not None: try: related_journal, rjlock = journalService.journal(application.related_journal, lock_journal=True, lock_account=account) - except lock.Locked as e: + except lock.Locked: # if the resource is locked, we have to back out if alock is not None: alock.delete() if cjlock is not None: cjlock.delete() @@ -825,7 +826,7 @@ def _cleanhtml(self, raw_html): return cleantext def json(self, indent=None): - repr = { + _repr = { "has_errors": self._errors, "has_warnings": self._warnings, "general": self._general, @@ -834,4 +835,4 @@ def json(self, indent=None): "values": self._values, "log": self._log } - return json.dumps(repr, indent=indent) + return json.dumps(_repr, indent=indent) diff --git a/portality/bll/services/huey_job.py b/portality/bll/services/huey_job.py index 7fb81349e8..d0f7f88587 100644 --- a/portality/bll/services/huey_job.py +++ b/portality/bll/services/huey_job.py @@ -47,7 +47,7 @@ def as_redis(self): class HueyJobService: def create_redis_client(self): - client = redis.StrictRedis(host=app.config['HUEY_REDIS_HOST'], port=app.config['HUEY_REDIS_PORT'], db=0) + client = redis.StrictRedis(host=app.config['REDIS_HOST'], port=app.config['REDIS_PORT'], db=0) return client def find_all_huey_jobs(self, client=None) -> Iterator[HueyJobData]: diff --git a/portality/bll/services/notifications.py b/portality/bll/services/notifications.py index 50574d8fca..3dcd2a6a1f 100644 --- a/portality/bll/services/notifications.py +++ b/portality/bll/services/notifications.py @@ -6,7 +6,7 @@ from portality.bll.exceptions import NoSuchObjectException, NoSuchPropertyException from datetime import datetime from portality.lib import dates - +from portality.ui import templates class NotificationsService(object): def notify(self, notification: models.Notification): @@ -29,8 +29,8 @@ def notify(self, notification: models.Notification): app_email.send_markdown_mail(to=to, fro=fro, subject=subject, - template_name="email/notification_email.jinja2", - markdown_template_name="email/notification_email.jinja2", # for the moment the markdown and plaintext templates are the same + template_name=templates.EMAIL_NOTIFICATION, + markdown_template_name=templates.EMAIL_NOTIFICATION, # for the moment the markdown and plaintext templates are the same user=acc, message=notification.long, action=notification.action, diff --git a/portality/bll/services/query.py b/portality/bll/services/query.py index 9595dfc801..e753f12575 100644 --- a/portality/bll/services/query.py +++ b/portality/bll/services/query.py @@ -272,12 +272,17 @@ def size(self): try: return int(self.q["size"]) except ValueError: - return 10 + app.logger.warn("Invalid size parameter in query: [{x}], " + "expected integer value".format(x=self.q["size"])) return 10 def from_result(self): if "from" in self.q: - return int(self.q["from"]) + try: + return int(self.q["from"]) + except ValueError: + app.logger.warn("Invalid from parameter in query: [{x}], " + "expected integer value".format(x=self.q["from"])) return 0 def as_dict(self): diff --git a/portality/constants.py b/portality/constants.py index 2fec308772..4372aa503c 100644 --- a/portality/constants.py +++ b/portality/constants.py @@ -60,10 +60,6 @@ TODO_ASSOCIATE_START_PENDING = "todo_associate_start_pending" TODO_ASSOCIATE_ALL_APPLICATIONS = "todo_associate_all_applications" -# Roles -ROLE_ASSOCIATE_EDITOR = 'associate_editor' -ROLE_API = "api" - EVENT_ACCOUNT_CREATED = "account:created" EVENT_ACCOUNT_PASSWORD_RESET = "account:password_reset" EVENT_APPLICATION_STATUS = "application:status" @@ -88,9 +84,9 @@ # Role ROLE_ADMIN = "admin" ROLE_PUBLISHER = "publisher" +ROLE_EDITOR = "editor" ROLE_ASSOCIATE_EDITOR = 'associate_editor' ROLE_PUBLIC_DATA_DUMP = "public_data_dump" -ROLE_PUBLISHER = "publisher" ROLE_PUBLISHER_JOURNAL_CSV = "journal_csv" ROLE_PUBLISHER_PRESERVATION = "preservation" ROLE_API = "api" diff --git a/portality/core.py b/portality/core.py index 8280edc620..d1146d1224 100644 --- a/portality/core.py +++ b/portality/core.py @@ -13,6 +13,7 @@ from portality.error_handler import setup_error_logging from portality.lib import es_data_mapping, dates, paths from portality.ui.debug_toolbar import DoajDebugToolbar +from portality.ui import templates import esprit import elasticsearch @@ -283,6 +284,7 @@ def setup_jinja(app): app.jinja_env.globals['type'] = type #~~->Constants:Config~~ app.jinja_env.globals['constants'] = constants + app.jinja_env.globals['templates'] = templates #~~-> Dates:Library~~ app.jinja_env.globals['dates'] = dates #~~->Datasets:Data~~ @@ -291,7 +293,8 @@ def setup_jinja(app): app.jinja_env.globals['services'] = DOAJ _load_data(app) #~~->CMS:DataStore~~ - app.jinja_env.loader = FileSystemLoader([app.config['BASE_FILE_PATH'] + '/templates', + app.jinja_env.loader = FileSystemLoader([app.config['BASE_FILE_PATH'] + '/templates-v2', + app.config['BASE_FILE_PATH'] + '/templates', os.path.dirname(app.config['BASE_FILE_PATH']) + '/cms/fragments']) # a jinja filter that prints to the Flask log diff --git a/portality/decorators.py b/portality/decorators.py index 9779a7d806..ccaffacf6c 100644 --- a/portality/decorators.py +++ b/portality/decorators.py @@ -8,7 +8,7 @@ from portality.lib import dates from portality.models import Account from portality.models.harvester import HarvesterProgressReport as Report - +from portality.ui import templates def swag(swag_summary, swag_spec): """ @@ -119,7 +119,8 @@ def decorated_view(*args, **kwargs): resp.mimetype = "application/json" return resp else: - return render_template("doaj/readonly.html") + # FIXME: ideally, this would show a different page for each different user class + return render_template(templates.PUBLIC_READ_ONLY_MODE) return fn(*args, **kwargs) diff --git a/portality/events/combined.py b/portality/events/combined.py deleted file mode 100644 index 869d63ab88..0000000000 --- a/portality/events/combined.py +++ /dev/null @@ -1,11 +0,0 @@ -from portality.events.shortcircuit import send_event as shortcircuit_send_event -from portality.core import app - - -def send_event(event): - try: - from portality.events.kafka_producer import send_event as kafka_send_event - kafka_send_event(event) - except Exception as e: - app.logger.exception("Failed to send event to Kafka. " + str(e)) - shortcircuit_send_event(event) diff --git a/portality/events/consumers/account_created_email.py b/portality/events/consumers/account_created_email.py index 6f1f2ca171..b9012f3f9a 100644 --- a/portality/events/consumers/account_created_email.py +++ b/portality/events/consumers/account_created_email.py @@ -6,6 +6,7 @@ from portality import models from portality.core import app from portality.bll.exceptions import NoSuchPropertyException +from portality.ui import templates class AccountCreatedEmail(EventConsumer): @@ -44,7 +45,7 @@ def _send_account_created_email(cls, account: models.Account): app_email.send_mail(to=to, fro=fro, subject=subject, - template_name="email/account_created.jinja2", + template_name=templates.EMAIL_ACCOUNT_CREATED, reset_url=reset_url, email=account.email, timeout_days=password_create_timeout_days, diff --git a/portality/events/consumers/account_passwordreset_email.py b/portality/events/consumers/account_passwordreset_email.py index 92c00824e8..3c118137b8 100644 --- a/portality/events/consumers/account_passwordreset_email.py +++ b/portality/events/consumers/account_passwordreset_email.py @@ -6,6 +6,7 @@ from portality import models from portality.core import app from portality.bll.exceptions import NoSuchPropertyException +from portality.ui import templates class AccountPasswordResetEmail(EventConsumer): @@ -35,7 +36,7 @@ def _send_password_reset_email(cls, account: models.Account): app_email.send_mail(to=to, fro=fro, subject=subject, - template_name="email/account_password_reset.jinja2", + template_name=templates.EMAIL_PASSWORD_RESET, email=account.email, reset_url=reset_url, forgot_pw_url=app.config.get('BASE_URL', "https://doaj.org") + url_for('account.forgot') diff --git a/portality/events/consumers/journal_assed_assigned_notify.py b/portality/events/consumers/journal_assed_assigned_notify.py index 5788334e44..3fa2030d8a 100644 --- a/portality/events/consumers/journal_assed_assigned_notify.py +++ b/portality/events/consumers/journal_assed_assigned_notify.py @@ -43,6 +43,8 @@ def consume(cls, event): notification.short = svc.short_notification(cls.ID).format( issns=journal.bibjson().issns_as_text() ) - notification.action = url_for("editor.journal_page", journal_id=journal.id) + + # No action possible due to page removed (see portality.view.editor.journal_page(journal_id)) + # notification.action = url_for("editor.journal_page", journal_id=journal.id) svc.notify(notification) diff --git a/portality/events/consumers/journal_editor_group_assigned_notify.py b/portality/events/consumers/journal_editor_group_assigned_notify.py index 6f1637d019..0119bcaeb3 100644 --- a/portality/events/consumers/journal_editor_group_assigned_notify.py +++ b/portality/events/consumers/journal_editor_group_assigned_notify.py @@ -48,6 +48,8 @@ def consume(cls, event): notification.short = svc.short_notification(cls.ID).format( issns=journal.bibjson().issns_as_text() ) - notification.action = url_for("editor.journal_page", journal_id=journal.id) + + # No action possible due to page removed (see portality.view.editor.journal_page(journal_id)) + # notification.action = url_for("editor.journal_page", journal_id=journal.id) svc.notify(notification) diff --git a/portality/events/kafka_consumer.py b/portality/events/kafka_consumer.py deleted file mode 100644 index 0ce1e1120e..0000000000 --- a/portality/events/kafka_consumer.py +++ /dev/null @@ -1,30 +0,0 @@ -import faust -import json - -from portality.app import app as doajapp -from portality.bll import DOAJ -from portality.models import Event - -broker = doajapp.config.get("KAFKA_BROKER") -topic_name = doajapp.config.get("KAFKA_EVENTS_TOPIC") - -app = faust.App('events', broker=broker, value_serializer='json') -topic = app.topic(topic_name) - -event_counter = 0 - - -@app.agent(topic) -async def handle_event(stream): - global event_counter - with doajapp.test_request_context("/"): - svc = DOAJ.eventsService() - async for event in stream: - event_counter += 1 - doajapp.logger.info(f"Kafka event count {event_counter}") - # TODO uncomment the following line once the Event model is fixed to Kafka - # svc.consume(Event(raw=json.loads(event))) - - -if __name__ == '__main__': - app.main() diff --git a/portality/events/kafka_producer.py b/portality/events/kafka_producer.py deleted file mode 100644 index 4dfef4aa51..0000000000 --- a/portality/events/kafka_producer.py +++ /dev/null @@ -1,12 +0,0 @@ -import json -from kafka import KafkaProducer - -from portality.core import app as doajapp -bootstrap_server = doajapp.config.get("KAFKA_BOOTSTRAP_SERVER") - -producer = KafkaProducer(bootstrap_servers=bootstrap_server, value_serializer=lambda v: json.dumps(v).encode('utf-8')) - - -def send_event(event): - future = producer.send('events', value=event.serialise()) - future.get(timeout=60) \ No newline at end of file diff --git a/portality/forms/application_forms.py b/portality/forms/application_forms.py index ff86584b7b..8d4adcd85d 100644 --- a/portality/forms/application_forms.py +++ b/portality/forms/application_forms.py @@ -46,6 +46,7 @@ from portality.models import EditorGroup from portality.regex import ISSN, ISSN_COMPILED from portality.ui.messages import Messages +from portality.ui import templates # Stop words used in the keywords field STOP_WORDS = [ @@ -1143,8 +1144,8 @@ class FieldDefinitions: "apc_currency", "apc_max" ], - "template": "application_form/_list.html", - "entry_template": "application_form/_entry_group_horizontal.html", + "template": templates.AF_LIST, + "entry_template": templates.AF_ENTRY_GROUP_HORIZONTAL, "widgets": [ "multiple_field" ] @@ -1972,8 +1973,8 @@ class FieldDefinitions: "note_id", "note_author_id", ], - "template": "application_form/_list.html", - "entry_template": "application_form/_entry_group.html", + "template": templates.AF_LIST, + "entry_template": templates.AF_ENTRY_GOUP, "widgets": [ {"infinite_repeat": {"enable_on_repeat": ["textarea"]}}, "note_modal" @@ -2367,9 +2368,9 @@ class ApplicationContextDefinitions: FieldSetDefinitions.UNIQUE_IDENTIFIERS["name"] ], "templates": { - "form": "application_form/public_application.html", - "default_field": "application_form/_field.html", - "default_group": "application_form/_group.html" + "form": templates.PUBLIC_APPLICATION_FORM, + "default_field": templates.AF_FIELD, + "default_group": templates.AF_GROUP }, "crosswalks": { "obj2form": ApplicationFormXWalk.obj2form, @@ -2384,14 +2385,14 @@ class ApplicationContextDefinitions: UPDATE = deepcopy(PUBLIC) UPDATE["name"] = "update_request" UPDATE["processor"] = application_processors.PublisherUpdateRequest - UPDATE["templates"]["form"] = "application_form/publisher_update_request.html" + UPDATE["templates"]["form"] = templates.PUBLISHER_UPDATE_REQUEST_FORM # ~~->$ ReadOnlyApplication:FormContext~~ # ~~^-> NewApplication:FormContext~~ READ_ONLY = deepcopy(PUBLIC) READ_ONLY["name"] = "application_read_only" READ_ONLY["processor"] = application_processors.NewApplication # FIXME: enter the real processor - READ_ONLY["templates"]["form"] = "application_form/readonly_application.html" + READ_ONLY["templates"]["form"] = templates.PUBLISHER_READ_ONLY_APPLICATION # ~~->$ AssociateEditorApplication:FormContext~~ # ~~^-> NewApplication:FormContext~~ @@ -2404,7 +2405,7 @@ class ApplicationContextDefinitions: FieldSetDefinitions.NOTES["name"] ] ASSOCIATE["processor"] = application_processors.AssociateApplication - ASSOCIATE["templates"]["form"] = "application_form/assed_application.html" + ASSOCIATE["templates"]["form"] = templates.ASSED_APPLICATION_FORM # ~~->$ EditorApplication:FormContext~~ # ~~^-> NewApplication:FormContext~~ @@ -2418,7 +2419,7 @@ class ApplicationContextDefinitions: FieldSetDefinitions.NOTES["name"] ] EDITOR["processor"] = application_processors.EditorApplication - EDITOR["templates"]["form"] = "application_form/editor_application.html" + EDITOR["templates"]["form"] = templates.EDITOR_APPLICATION_FORM # ~~->$ ManEdApplication:FormContext~~ # ~~^-> NewApplication:FormContext~~ @@ -2436,15 +2437,15 @@ class ApplicationContextDefinitions: FieldSetDefinitions.NOTES["name"] ] MANED["processor"] = application_processors.AdminApplication - MANED["templates"]["form"] = "application_form/maned_application.html" + MANED["templates"]["form"] = templates.MANED_APPLICATION_FORM class JournalContextDefinitions: # ~~->$ ReadOnlyJournal:FormContext~~ # ~~^-> JournalForm:Crosswalk~~ # ~~^-> ReadOnlyJournal:FormProcessor~~ - READ_ONLY = { - "name": "readonly", + ADMIN_READ_ONLY = { + "name": "admin_readonly", "fieldsets": [ FieldSetDefinitions.BASIC_COMPLIANCE["name"], FieldSetDefinitions.ABOUT_THE_JOURNAL["name"], @@ -2464,9 +2465,9 @@ class JournalContextDefinitions: FieldSetDefinitions.UNIQUE_IDENTIFIERS["name"] ], "templates": { - "form": "application_form/readonly_journal.html", - "default_field": "application_form/_field.html", - "default_group": "application_form/_group.html" + "form": templates.MANED_READ_ONLY_JOURNAL, + "default_field": templates.AF_FIELD, + "default_group": templates.AF_GROUP }, "crosswalks": { "obj2form": JournalFormXWalk.obj2form, @@ -2475,17 +2476,22 @@ class JournalContextDefinitions: "processor": application_processors.ReadOnlyJournal } + # identical context for editors, mostly to support the different view contexts + EDITOR_READ_ONLY = deepcopy(ADMIN_READ_ONLY) + EDITOR_READ_ONLY["name"] = "editor_readonly" + EDITOR_READ_ONLY["templates"]["form"] = templates.EDITOR_READ_ONLY_JOURNAL + # ~~->$ AssEditorJournal:FormContext~~ # ~~^-> ReadOnlyJournal:FormContext~~ # ~~^-> AssEdJournal:FormProcessor~~ - ASSOCIATE = deepcopy(READ_ONLY) + ASSOCIATE = deepcopy(ADMIN_READ_ONLY) ASSOCIATE["fieldsets"] += [ FieldSetDefinitions.SUBJECT["name"], FieldSetDefinitions.NOTES["name"] ] ASSOCIATE["name"] = "associate_editor" ASSOCIATE["processor"] = application_processors.AssEdJournalReview - ASSOCIATE["templates"]["form"] = "application_form/assed_journal.html" + ASSOCIATE["templates"]["form"] = templates.ASSED_JOURNAL_FORM # ~~->$ EditorJournal:FormContext~~ # ~~^-> AssEdJournal:FormContext~~ @@ -2496,7 +2502,7 @@ class JournalContextDefinitions: FieldSetDefinitions.REVIEWERS["name"] ] EDITOR["processor"] = application_processors.EditorJournalReview - EDITOR["templates"]["form"] = "application_form/editor_journal.html" + EDITOR["templates"]["form"] = templates.EDITOR_JOURNAL_FORM # ~~->$ ManEdJournal:FormContext~~ # ~~^-> EditorJournal:FormContext~~ @@ -2510,7 +2516,7 @@ class JournalContextDefinitions: FieldSetDefinitions.CONTINUATIONS["name"] ] MANED["processor"] = application_processors.ManEdJournalReview - MANED["templates"]["form"] = "application_form/maned_journal.html" + MANED["templates"]["form"] = templates.MANED_JOURNAL_FORM # ~~->$ BulkEditJournal:FormContext~~ # ~~^-> JournalForm:Crosswalk~~ @@ -2521,9 +2527,9 @@ class JournalContextDefinitions: FieldSetDefinitions.BULK_EDIT["name"] ], "templates": { - "form": "application_form/maned_journal_bulk_edit.html", - "default_field": "application_form/_field.html", - "default_group": "application_form/_group.html" + "form": templates.MANED_JOURNAL_BULK_EDIT, + "default_field": templates.AF_FIELD, + "default_group": templates.AF_GROUP }, "crosswalks": { "obj2form": JournalFormXWalk.obj2form, @@ -2552,7 +2558,8 @@ class JournalContextDefinitions: JOURNAL_FORMS = { "contexts": { - JournalContextDefinitions.READ_ONLY["name"]: JournalContextDefinitions.READ_ONLY, + JournalContextDefinitions.ADMIN_READ_ONLY["name"]: JournalContextDefinitions.ADMIN_READ_ONLY, + JournalContextDefinitions.EDITOR_READ_ONLY["name"]: JournalContextDefinitions.EDITOR_READ_ONLY, JournalContextDefinitions.BULK_EDIT["name"]: JournalContextDefinitions.BULK_EDIT, JournalContextDefinitions.ASSOCIATE["name"]: JournalContextDefinitions.ASSOCIATE, JournalContextDefinitions.EDITOR["name"]: JournalContextDefinitions.EDITOR, diff --git a/portality/forms/article_forms.py b/portality/forms/article_forms.py index e15f44f32e..28a84a6c62 100644 --- a/portality/forms/article_forms.py +++ b/portality/forms/article_forms.py @@ -1,5 +1,5 @@ from copy import deepcopy -from datetime import datetime +from typing import Literal, Optional from flask import render_template, url_for, request from flask_login import current_user @@ -15,6 +15,7 @@ from portality.forms.validate import OptionalIf, ThisOrThat, NoScriptTag, DifferentTo from portality.lib import dates from portality.ui.messages import Messages +from portality.ui import templates ######################################### @@ -70,7 +71,7 @@ def form(self, val): self._form = val @property - def source(self): + def source(self) -> Optional: return self._source @property @@ -525,15 +526,28 @@ def _render_checkbox(self, field, **kwargs): INITIAL_AUTHOR_FIELDS = 3 -def choices_for_article_issns(user, article_id=None): +def choices_for_article_issns(user, article_id=None, + issn_type: Literal['eissn', 'pissn', 'all'] = 'all'): + + owner = None if "admin" in user.role and article_id is not None: # ~~->Article:Model~~ a = models.Article.pull(article_id) - # ~~->Journal:Model~~ - issns = models.Journal.issns_by_owner(a.get_owner(), in_doaj=True) + if a: + owner = a.get_owner() + + if not owner: + owner = user.id + + if issn_type == 'eissn': + issn_field = 'bibjson.eissn.exact' + elif issn_type == 'pissn': + issn_field = 'bibjson.pissn.exact' else: - issns = models.Journal.issns_by_owner(user.id, in_doaj=True) + issn_field = 'index.issn.exact' + # ~~->Journal:Model~~ + issns = models.Journal.issns_by_owner(owner, in_doaj=True, issn_field=issn_field) ic = [("", "Select an ISSN")] + [(i, i) for i in issns] return ic @@ -556,8 +570,14 @@ class ArticleForm(Form): fulltext = StringField("Full-text URL", [OptionalIf("doi", "You must provide the Full-Text URL or the DOI"), validators.URL()]) publication_year = DOAJSelectField("Year", [validators.Optional()], choices=YEAR_CHOICES, default=str(dates.now().year)) publication_month = DOAJSelectField("Month", [validators.Optional()], choices=MONTH_CHOICES, default="" ) - pissn = DOAJSelectField("Print", [ThisOrThat("eissn", "Either this field or Online ISSN is required"), DifferentTo("eissn", message=IDENTICAL_ISSNS_ERROR)], choices=[]) # choices set at construction - eissn = DOAJSelectField("Online", [ThisOrThat("pissn", "Either this field or Print ISSN is required"), DifferentTo("pissn", message=IDENTICAL_ISSNS_ERROR)], choices=[]) # choices set at construction + pissn = DOAJSelectField("Print", [ + ThisOrThat("eissn", "Either this field or Online ISSN is required"), + DifferentTo("eissn", message=IDENTICAL_ISSNS_ERROR) + ], choices=[]) # choices set at construction + eissn = DOAJSelectField("Online", [ + ThisOrThat("pissn", "Either this field or Print ISSN is required"), + DifferentTo("pissn", message=IDENTICAL_ISSNS_ERROR) + ], choices=[]) # choices set at construction volume = StringField("Volume", [validators.Optional(), NoScriptTag()]) number = StringField("Issue", [validators.Optional(), NoScriptTag()]) @@ -566,13 +586,17 @@ class ArticleForm(Form): def __init__(self, *args, **kwargs): super(ArticleForm, self).__init__(*args, **kwargs) + self.set_choices() + + def set_choices(self, user=None, article_id=None): + user = user or current_user try: - self.pissn.choices = choices_for_article_issns(current_user) - self.eissn.choices = choices_for_article_issns(current_user) - except: + self.pissn.choices = choices_for_article_issns(user, issn_type='pissn', article_id=article_id) + self.eissn.choices = choices_for_article_issns(user, issn_type='eissn', article_id=article_id) + except Exception as e: # not logged in, and current_user is broken # probably you are loading the class from the command line - pass + app.logger.exception(str(e)) @@ -605,15 +629,8 @@ def __init__(self, source, form_data, user): super(MetadataForm, self).__init__(source=source, form_data=form_data) def _set_choices(self): - try: - ic = choices_for_article_issns(user=self.user, article_id=self.source.id) - self.form.pissn.choices = ic - self.form.eissn.choices = ic - except Exception as e: - print (str(e)) - # not logged in, and current_user is broken - # probably you are loading the class from the command line - pass + if self.source is not None: + self.form.set_choices(user=self.user, article_id=self.source.id) def modify_authors_if_required(self, request_data): @@ -699,7 +716,7 @@ def __init__(self, source, form_data, user): super(PublisherMetadataForm, self).__init__(source=source, form_data=form_data, user=user) def set_template(self): - self.template = "publisher/metadata.html" + self.template = templates.PUBLISHER_ARTICLE_METADATA def render_template(self, **kwargs): self._check_for_author_errors(**kwargs) @@ -716,7 +733,7 @@ def __init__(self, source, form_data, user): super(AdminMetadataArticleForm, self).__init__(source=source, form_data=form_data, user=user) def set_template(self): - self.template = "admin/article_metadata.html" + self.template = templates.ADMIN_ARTICLE_FORM def render_template(self, **kwargs): self._check_for_author_errors(**kwargs) diff --git a/portality/models/v2/journal.py b/portality/models/v2/journal.py index 735a88a42d..f97f8084f2 100644 --- a/portality/models/v2/journal.py +++ b/portality/models/v2/journal.py @@ -1,19 +1,23 @@ -from portality.dao import DomainObject -from portality.core import app -from portality.lib.dates import DEFAULT_TIMESTAMP_VAL -from portality.models.v2.bibjson import JournalLikeBibJSON -from portality.models.v2 import shared_structs -from portality.models.account import Account -from portality.lib import es_data_mapping, dates, coerce -from portality.lib.seamless import SeamlessMixin -from portality.lib.coerce import COERCE_MAP +from __future__ import annotations +import string +import uuid from copy import deepcopy from datetime import datetime, timedelta +from typing import Callable, Iterable -import string, uuid from unidecode import unidecode +from portality.core import app +from portality.dao import DomainObject +from portality.lib import es_data_mapping, dates, coerce +from portality.lib.coerce import COERCE_MAP +from portality.lib.dates import DEFAULT_TIMESTAMP_VAL +from portality.lib.seamless import SeamlessMixin +from portality.models.account import Account +from portality.models.v2 import shared_structs +from portality.models.v2.bibjson import JournalLikeBibJSON + JOURNAL_STRUCT = { "objects": [ "admin", "index" @@ -53,6 +57,7 @@ } + class ContinuationException(Exception): pass @@ -87,8 +92,8 @@ def find_by_issn_exact(cls, issns, in_doaj=None, max=2): return records @classmethod - def issns_by_owner(cls, owner, in_doaj=None): - q = IssnQuery(owner, in_doaj=in_doaj) + def issns_by_owner(cls, owner, in_doaj=None, issn_field=None): + q = IssnQuery(owner, in_doaj=in_doaj, issn_field=issn_field) res = cls.query(q=q.query()) issns = [term.get("key") for term in res.get("aggregations", {}).get("issns", {}).get("buckets", [])] return issns @@ -280,7 +285,6 @@ def add_note_by_dict(self, note): return self.add_note(note=note.get("note"), date=note.get("date"), id=note.get("id"), author_id=note.get("author_id")) - def remove_note(self, note): self.__seamless__.delete_from_list("admin.notes", matchsub=note) @@ -301,7 +305,7 @@ def ordered_notes(self): clusters = {} for note in notes: if "date" not in note: - note["date"] = DEFAULT_TIMESTAMP_VAL # this really means something is broken with note date setting, which needs to be fixed + note["date"] = DEFAULT_TIMESTAMP_VAL # this really means something is broken with note date setting, which needs to be fixed if note["date"] not in clusters: clusters[note["date"]] = [note] else: @@ -505,7 +509,7 @@ def __init__(self, **kwargs): if "_source" in kwargs: kwargs = kwargs["_source"] # FIXME: I have taken this out for the moment, as I'm not sure it's what we should be doing - #if kwargs: + # if kwargs: # self.add_autogenerated_fields(**kwargs) super(Journal, self).__init__(raw=kwargs) @@ -535,7 +539,7 @@ def add_autogenerated_fields(cls, **kwargs): bib["pid_scheme"] = {"has_pid_scheme": False} if "preservation" in bib and bib["preservation"] != '': bib["preservation"]["has_preservation"] = (len(bib["preservation"]) != 0 or - bib["national_library"] is not None) + bib["national_library"] is not None) else: bib["preservation"] = {"has_preservation": True} @@ -764,7 +768,8 @@ def remove_related_applications(self): self.__seamless__.delete("admin.related_applications") def remove_related_application(self, application_id): - self.set_related_applications([r for r in self.related_applications if r.get("application_id") != application_id]) + self.set_related_applications([r for r in self.related_applications + if r.get("application_id") != application_id]) def related_application_record(self, application_id): for record in self.related_applications: @@ -784,29 +789,41 @@ def latest_related_application_id(self): ######################################################################## ## Functions for handling continuations - def get_future_continuations(self): - irb = self.bibjson().is_replaced_by - q = ContinuationQuery(irb) - - journals = self.q2obj(q=q.query()) - subjournals = [] - for j in journals: - subjournals += j.get_future_continuations() - future = journals + subjournals - return future + def _get_continuations(self, issns, + get_sub_journals: Callable, + journal_caches: set[str] = None) -> Iterable['Journal']: + """ - def get_past_continuations(self): - replaces = self.bibjson().replaces - q = ContinuationQuery(replaces) + Parameters + ---------- + issns + get_sub_journals + journal_caches + contain completed journals ids, avoid infinite recursion by passing a + set of journal objects that have already been processed + """ + journal_caches = journal_caches or set() + journal_caches.add(self.id) + journals = self.q2obj(q=ContinuationQuery(issns).query()) + journals = [j for j in journals if j.id not in journal_caches] + journal_caches.update({j.id for j in journals}) - journals = self.q2obj(q=q.query()) subjournals = [] for j in journals: - subjournals += j.get_past_continuations() + subjournals += get_sub_journals(j, journal_caches) - past = journals + subjournals - return past + return journals + subjournals + + def get_future_continuations(self, journal_caches: set[str]=None) -> Iterable['Journal']: + return self._get_continuations(self.bibjson().is_replaced_by, + lambda j, jc: j.get_future_continuations(jc), + journal_caches=journal_caches) + + def get_past_continuations(self, journal_caches: set[str]=None) -> Iterable['Journal']: + return self._get_continuations(self.bibjson().replaces, + lambda j, jc: j.get_past_continuations(jc), + journal_caches=journal_caches) ####################################################################### @@ -853,7 +870,6 @@ def propagate_in_doaj_status_to_articles(self): article.set_in_doaj(self.is_in_doaj()) article.save() - def prep(self, is_update=True): self._ensure_in_doaj() self.calculate_tick() @@ -1010,7 +1026,7 @@ def query(self): ] } }, - "size" : self.max + "size": self.max } if self.in_doaj is not None: q["query"]["bool"]["must"].append({"term": {"admin.in_doaj": self.in_doaj}}) @@ -1018,14 +1034,15 @@ def query(self): class IssnQuery(object): - def __init__(self, owner, in_doaj=None): + def __init__(self, owner, in_doaj=None, issn_field=None): self._owner = owner self._in_doaj = in_doaj + self._issn_field = issn_field or 'index.issn.exact' def query(self): - musts = [{"term": { "admin.owner.exact": self._owner}}] + musts = [{"term": {"admin.owner.exact": self._owner}}] if self._in_doaj is not None: - musts.append({"term": { "admin.in_doaj": self._in_doaj}}) + musts.append({"term": {"admin.in_doaj": self._in_doaj}}) return { "track_total_hits": True, "query": { @@ -1037,9 +1054,9 @@ def query(self): "aggs": { "issns": { "terms": { - "field": "index.issn.exact", + "field": self._issn_field, "size": 10000, - "order": { "_key": "asc" } + "order": {"_key": "asc"} } } } @@ -1162,9 +1179,9 @@ def __init__(self, max): def query(self): return { "track_total_hits": True, - "query" : {"match_all" : {}}, - "size" : self.max, - "sort" : [ - {"created_date" : {"order" : "desc"}} + "query": {"match_all": {}}, + "size": self.max, + "sort": [ + {"created_date": {"order": "desc"}} ] } diff --git a/portality/notifications/application_emails.py b/portality/notifications/application_emails.py index c0c65d92dd..2df06ae8b1 100644 --- a/portality/notifications/application_emails.py +++ b/portality/notifications/application_emails.py @@ -7,6 +7,7 @@ from portality.dao import Facetview2 from portality.ui.messages import Messages from portality.lib import dates +from portality.ui import templates def send_editor_completed_email(application): @@ -34,7 +35,7 @@ def send_editor_completed_email(application): app_email.send_mail(to=to, fro=fro, subject=subject, - template_name="email/editor_application_completed.jinja2", + template_name=templates.EMAIL_EDITOR_APPLICATION_COMPLETED, editor=editor_id, associate_editor=assoc_id, application_title=journal_name, @@ -56,7 +57,7 @@ def send_account_created_email(account): app_email.send_mail(to=to, fro=fro, subject=subject, - template_name="email/account_created.jinja2", + template_name=templates.EMAIL_ACCOUNT_CREATED, reset_url=reset_url, email=account.email, timeout_days=password_create_timeout_days, @@ -74,7 +75,7 @@ def send_account_password_reset_email(account): app_email.send_mail(to=to, fro=fro, subject=subject, - template_name="email/account_password_reset.jinja2", + template_name=templates.EMAIL_PASSWORD_RESET, email=account.email, reset_url=reset_url, forgot_pw_url=url_for('account.forgot', _external=True) diff --git a/portality/scripts/priorities.csv b/portality/scripts/priorities.csv index 75c95cf037..f5e5cdcc59 100644 --- a/portality/scripts/priorities.csv +++ b/portality/scripts/priorities.csv @@ -1,7 +1,7 @@ id,labels,columns HP/DaR,"Priority: High, Type: Data at Risk", HP/bug,"Priority: High, bug", -Deadline,Priority: Deadline, +Deadline,Priority: Deadline,"Review, In progress, To Do" HP/PfL,"Prioroty: High, Workflow: Pending for Live",Review HP/sup,"Priority: High, Origin: Support", Test1,Workflow: On Test,Review @@ -10,6 +10,7 @@ HP/PfT,"Priority: High, Workflow: Pending for Test",Review HP/rev,Priority: High,Review PfT,Workflow: Pending for Test,Review PfL,Workflow: Pending for Live,Review +Inv,Workflow: Initial Investigation,"Review, In Progress, To Do" Rev,,Review Near,Scale: Nearly Finished, Sch,Priority: Scheduled, diff --git a/portality/scripts/redhead.py b/portality/scripts/redhead.py new file mode 100644 index 0000000000..a2045c5834 --- /dev/null +++ b/portality/scripts/redhead.py @@ -0,0 +1,571 @@ +import re, json, os +from flask import render_template +from portality.app import app +from copy import deepcopy + + +BLOCK_RE = "{%[-]{0,1} block (.*?) (.*?)%}" +ENDBLOCK_RE = "{%[-]{0,1} endblock (.*?)%}" +EXTENDS_RE = "{% extends [\"'](.*?)[\"'] %}" +INCLUDES_RE = "{% include [\"'](.*?)[\"'].*?%}" +IMPORTS_RE = "{% from [\"'](.*?)[\"'].*?%}" +DYNAMIC_INCLUDES_RE = "{% include ([^\"'].*?) %}" + + +def analyse_template(template, template_dir, file_prefix): + with open(template, "r") as f: + lines = f.readlines() + + structure = destructure(lines) + records = analyse(structure, template, template_dir, file_prefix) + return records + + +def destructure(lines): + structure = {"content": []} + + while len(lines) > 0: + block_until = -1 + post_end_block_line_content = "" + for i, line in enumerate(lines): + bm = re.search(BLOCK_RE, line) + if bm: + current_block = bm.group(1) + is_scoped = "scoped" in bm.group(2) + idx0 = line.index(bm.group(0)) + idx1 = idx0 + len(bm.group(0)) + before = line[:idx0] + after = line[idx1:] + + structure["content"].append(before) + + if "blocks" not in structure: + structure["blocks"] = {} + structure["blocks"][current_block] = {"content": [], "scoped": is_scoped} + + l, pos1, pos2 = _find_block_end([after] + lines[i+1:]) + + if l is None: + structure["blocks"][current_block] = {"content": [after]} + structure["blocks"][current_block]["content"] += lines[i+1:] + elif l == 0: + structure["blocks"][current_block] = {"content": [after[:pos1]]} + post_end_block_line_content = after[pos2:] + block_until = l + i + else: + block_until = l + i + structure["blocks"][current_block]["content"] += lines[i+1:block_until] + pre_end_block_line_content = lines[block_until][:pos1] + post_end_block_line_content = lines[block_until][pos2:] + structure["blocks"][current_block]["content"].append(pre_end_block_line_content) + + break + + else: + structure["content"].append(line) + + remaining = [] + if post_end_block_line_content != "" and post_end_block_line_content is not None: + remaining.append(post_end_block_line_content) + if block_until != -1: + remaining += lines[block_until+1:] + lines = remaining + + for k, v in structure.get("blocks", {}).items(): + structure["blocks"][k]["structure"] = destructure(v["content"]) + + return structure + + +def _find_block_end(lines): + blockcount = 0 + + for i, line in enumerate(lines): + block_commands = [] + for bsm in re.finditer(BLOCK_RE, line): + block_commands.append((bsm.start(), 1, bsm)) + for bem in re.finditer(ENDBLOCK_RE, line): + block_commands.append((bem.start(), -1, bem)) + block_commands.sort() + for bc in block_commands: + blockcount += bc[1] + if blockcount < 0: + return i, bc[0], bc[0] + len(bc[2].group(0)) + + return None, None, None + + +def analyse(structure, template_name, template_dir, file_prefix): + records = [] + tr = { + "type": "template", + "file": file_prefix + template_name[len(template_dir):] + } + + if structure.get("blocks"): + tr["blocks"] = list(structure.get("blocks", {}).keys()) + + for i, line in enumerate(structure["content"]): + ems = re.finditer(EXTENDS_RE, line) + for em in ems: + if "extends" not in tr: + tr["extends"] = [] + tr["extends"].append(em.group(1)) + + im = re.search(INCLUDES_RE, line) + if im: + if "includes" not in tr: + tr["includes"] = [] + tr["includes"].append(im.group(1)) + + dim = re.search(DYNAMIC_INCLUDES_RE, line) + if dim: + if "dynamic_includes" not in tr: + tr["dynamic_includes"] = [] + tr["dynamic_includes"].append(dim.group(1)) + + records.append(tr) + + for k, v in structure.get("blocks", {}).items(): + records += _analyse_block(v["structure"], k, template_name, template_dir, file_prefix, scoped=v.get("scoped", False)) + + return records + + +def _analyse_block(block, block_name, template_name, template_dir, file_prefix, parent_block=None, scoped=False): + records = [] + br = { + "type": "block", + "name": block_name, + "file": file_prefix + template_name[len(template_dir):], + "parent_block": parent_block, + "content": False, + "scoped": scoped + } + + if block.get("blocks"): + br["blocks"] = list(block.get("blocks", {}).keys()) + + if len([l for l in block.get("content", []) if l.strip() != ""]) > 0: + br["content"] = True + + for i, line in enumerate(block["content"]): + im = re.search(INCLUDES_RE, line) + if im: + if "includes" not in br: + br["includes"] = [] + br["includes"].append(im.group(1)) + + dim = re.search(DYNAMIC_INCLUDES_RE, line) + if dim: + if "dynamic_includes" not in br: + br["dynamic_includes"] = [] + br["dynamic_includes"].append(dim.group(1)) + + ip = re.search(IMPORTS_RE, line) + if ip: + if "includes" not in br: + br["includes"] = [] + br["includes"].append(ip.group(1)) + + records.append(br) + + for k, v in block.get("blocks", {}).items(): + substructure = v["structure"] + if substructure: + records += _analyse_block(substructure, k, template_name, template_dir, file_prefix, parent_block=block_name) + + return records + + +def treeify(records): + base = _get_base_templates(records) + base.sort(key=lambda x: x["file"]) + + tree = [] + for b in base: + tree.append(_expand_file_node(b, records)) + + return tree + + +def _expand_file_node(record, records): + b = record + + node = { + "name": b["file"], + "blocks": [], + "includes": [], + "extensions": [] + } + + blockset = [] + for block in b.get("blocks", []): + for r in records: + if r["type"] == "block" and r["file"] == b["file"] and r["name"] == block: + blockset.append(r) + + blockset.sort(key=lambda x: x["name"]) + for bs in blockset: + br = _expand_block_node(bs, records) + node["blocks"].append(br) + + extensions = [] + for r in records: + if r["type"] == "template" and b["file"] in r.get("extends", []): + extensions.append(r) + + extensions.sort(key=lambda x: x["file"]) + for ex in extensions: + exr = _expand_file_node(ex, records) + node["extensions"].append(exr) + + includes = [] + if "includes" in b: + for r in records: + if r["type"] == "template" and r["file"] in b["includes"]: + includes.append(r) + + includes.sort(key=lambda x: x["file"]) + for inc in includes: + incn = _expand_file_node(inc, records) + node["includes"].append(incn) + + if "dynamic_includes" in b: + node["dynamic_includes"] = b["dynamic_includes"] + node["dynamic_includes"].sort() + + return node + + +def _expand_block_node(record, records): + b = record + + node = { + "name": b["name"], + "blocks": [], + "includes": [], + "content": b["content"], + "overridden_by": [], + "overrides": [], + "scoped": b.get("scoped", False) + } + + blockset = [] + for block in b.get("blocks", []): + for r in records: + if r["type"] == "block" and r["file"] == b["file"] and r["name"] == block: + blockset.append(r) + + blockset.sort(key=lambda x: x["name"]) + for bs in blockset: + br = _expand_block_node(bs, records) + node["blocks"].append(br) + + includes = [] + if "includes" in b: + resolved = [] + for r in records: + if r["type"] == "template" and r["file"] in b["includes"]: + includes.append(r) + resolved.append(r["file"]) + for inc in b["includes"]: + if inc not in resolved: + includes.append({ + "name": inc, + "file": inc, + "unresolved": True + }) + + includes.sort(key=lambda x: x["file"]) + for inc in includes: + if inc.get("unresolved"): + incn = {"name": inc["name"], "unresolved": True} + else: + incn = _expand_file_node(inc, records) + node["includes"].append(incn) + + if "dynamic_includes" in b: + node["dynamic_includes"] = b["dynamic_includes"] + node["dynamic_includes"].sort() + + overridden_by = [] + for r in records: + if r["type"] == "block" and r["name"] == b["name"] and r["file"] != b["file"]: + paths = _extension_paths(r["file"], b["file"], records) + if len(paths) > 0: + overridden_by.append((r, paths)) + + overridden_by.sort(key=lambda x: x[0]["file"]) + for ov, paths in overridden_by: + node["overridden_by"].append({ + "file": ov["file"], + "content": ov["content"], + "paths": paths + }) + + overrides = [] + for r in records: + if r["type"] == "block" and r["name"] == b["name"] and r["file"] != b["file"]: + paths = _extension_paths(b["file"], r["file"], records) + if len(paths) > 0: + overrides.append((r, paths)) + + overrides.sort(key=lambda x: x[0]["file"]) + for ov, paths in overrides: + node["overrides"].append({ + "file": ov["file"], + "content": ov["content"], + "paths": paths + }) + + return node + + +def _extension_paths(child, parent, records): + paths = [[child]] + + def get_record(file): + for r in records: + if r["type"] == "template" and r["file"] == file: + return r + return None + + def navigate(node, path): + paths = [] + current_record = get_record(node) + extends = current_record.get("extends", []) + if len(extends) == 0: + return [path] + for ex in extends: + local_path = deepcopy(path) + local_path.append(ex) + paths.append(local_path) + return paths + + while True: + all_new_paths = [] + for p in paths: + new_paths = navigate(p[-1], p) + all_new_paths += new_paths + + if all_new_paths != paths: + paths = all_new_paths + else: + paths = all_new_paths + break + + parent_paths = [] + for p in paths: + p.reverse() + if parent in p: + idx = p.index(parent) + parent_paths.append(p[idx:]) + return parent_paths + + +def serialise(tree): + ctx = app.test_request_context("/") + ctx.push() + return render_template("dev/redhead/tree.html", tree=tree) + +def serialise_blocks(tree): + ctx = app.test_request_context("/") + ctx.push() + return render_template("dev/redhead/blocks.html", tree=tree) + +def _get_base_templates(records): + base = [] + includes = set() + for r in records: + if r["type"] == "template" and r.get("extends") is None: + base.append(r) + if "includes" in r: + includes.update(r["includes"]) + + base_index = [r.get("file") for r in base] + + removes = [] + for inc in includes: + if inc in base_index: + idx = base_index.index(inc) + removes.append(idx) + + removes.sort(reverse=True) + for r in removes: + del base[r] + + return base + + +def _expand_block_tree_node(record, records): + b = record + + node = { + "name": b["name"], + "blocks": [], + # "includes": [], + # "content": b["content"], + # "overridden_by": [], + # "overrides": [], + # "scoped": b.get("scoped", False), + "files": [] + } + + all_block_definitions = [b] + for r in records: + if r["type"] == "block" and r["name"] == b["name"] and r["file"] != b["file"]: + all_block_definitions.append(r) + + node["files"] += [x["file"] for x in all_block_definitions] + + blocklist = [] + for entry in all_block_definitions: + for block in entry.get("blocks", []): + for r in records: + if r["type"] == "block" and r["file"] == entry["file"] and r["name"] == block: + isnew = True + for b in blocklist: + if b["name"] == r["name"] and b["file"] == r["file"]: + isnew = False + if isnew: + blocklist.append(r) + + blocklist.sort(key=lambda x: x["name"]) + for bs in blocklist: + br = _expand_block_tree_node(bs, records) + node["blocks"].append(br) + + # includes = [] + # if "includes" in b: + # for r in records: + # if r["type"] == "template" and r["file"] in b["includes"]: + # includes.append(r) + # + # includes.sort(key=lambda x: x["file"]) + # for inc in includes: + # incn = _expand_file_node(inc, records) + # node["includes"].append(incn) + # + # overridden_by = [] + # for r in records: + # if r["type"] == "block" and r["name"] == b["name"] and r["file"] != b["file"]: + # paths = _extension_paths(r["file"], b["file"], records) + # if len(paths) > 0: + # overridden_by.append((r, paths)) + # + # overridden_by.sort(key=lambda x: x[0]["file"]) + # for ov, paths in overridden_by: + # node["overridden_by"].append({ + # "file": ov["file"], + # "content": ov["content"], + # "paths": paths + # }) + # + # overrides = [] + # for r in records: + # if r["type"] == "block" and r["name"] == b["name"] and r["file"] != b["file"]: + # paths = _extension_paths(b["file"], r["file"], records) + # if len(paths) > 0: + # overrides.append((r, paths)) + # + # overrides.sort(key=lambda x: x[0]["file"]) + # for ov, paths in overrides: + # node["overrides"].append({ + # "file": ov["file"], + # "content": ov["content"], + # "paths": paths + # }) + + return node + +def block_treeify(records): + base = _get_base_templates(records) + + tree = [] + for b in base: + blockset = [] + for block in b.get("blocks", []): + for r in records: + if r["type"] == "block" and r["file"] == b["file"] and r["name"] == block: + blockset.append(r) + + blockset.sort(key=lambda x: x["name"]) + for bs in blockset: + tree.append(_expand_block_tree_node(bs, records)) + + return tree + + +def redhead(out_dir, template_dir, template_root=None, template_filters=None): + file_prefix = "" + + if not template_dir.endswith("/"): + template_dir += "/" + + if template_root is None: + template_root = template_dir + + if not template_root.endswith("/"): + template_root += "/" + + if not template_root == template_dir: + file_prefix = template_dir[len(template_root):] + + if not os.path.exists(out_dir): + os.makedirs(out_dir, exist_ok=True) + + records = [] + + for (root, dirs, files) in os.walk(template_dir, topdown=True): + for f in files: + passed_filter = False + if template_filters is not None: + for tf in template_filters: + if re.match(tf, f): + passed_filter = True + break + else: + passed_filter = True + if passed_filter: + template = os.path.join(root, f) + print("Analysing", template) + records += analyse_template(template, template_dir, file_prefix) + else: + print("Skipping", f) + + with open(os.path.join(out_dir, "redhead_records.json"), "w") as f: + f.write(json.dumps(records, indent=2)) + + tree = treeify(records) + + with open(os.path.join(out_dir, "redhead_tree.json"), "w") as f: + f.write(json.dumps(tree, indent=2)) + + html = serialise(tree) + with open(os.path.join(out_dir, "redhead_tree.html"), "w") as f: + f.write(html) + + block_tree = block_treeify(records) + + with open(os.path.join(out_dir, "redhead_blocks.json"), "w") as f: + f.write(json.dumps(block_tree, indent=2)) + + block_html = serialise_blocks(block_tree) + with open(os.path.join(out_dir, "redhead_blocks.html"), "w") as f: + f.write(block_html) + + +if __name__ == "__main__": + import argparse + import json + + parser = argparse.ArgumentParser() + parser.add_argument("config", help="The config file of run configurations") + args = parser.parse_args() + + with open(args.config, "r") as f: + config = json.load(f) + + for c in config: + redhead(c["out_dir"], c["template_dir"], template_root=c.get("template_root"), template_filters=c.get("template_filters")) diff --git a/portality/settings.py b/portality/settings.py index e0a70b4c92..9d6e313e6b 100644 --- a/portality/settings.py +++ b/portality/settings.py @@ -9,7 +9,7 @@ # Application Version information # ~~->API:Feature~~ -DOAJ_VERSION = "6.8.2" +DOAJ_VERSION = "7.0.0" API_VERSION = "4.0.0" ###################################### @@ -39,7 +39,7 @@ DEBUG_PYCHARM_SERVER = 'localhost' DEBUG_PYCHARM_PORT = 6000 -#~~->DebugToolbar:Framework~~ +# ~~->DebugToolbar:Framework~~ DEBUG_TB_TEMPLATE_EDITOR_ENABLED = True DEBUG_TB_INTERCEPT_REDIRECTS = False @@ -48,7 +48,7 @@ ####################################### # Elasticsearch configuration -#~~->Elasticsearch:Technology +# ~~->Elasticsearch:Technology # elasticsearch settings # TODO: changing from single host / esprit to multi host on ES & correct the default ELASTIC_SEARCH_HOST = os.getenv('ELASTIC_SEARCH_HOST', 'http://localhost:9200') # remember the http:// or https:// @@ -66,7 +66,7 @@ ELASTIC_SEARCH_DB_PREFIX = "doaj-" # note: include the separator ELASTIC_SEARCH_TEST_DB_PREFIX = "doajtest-" -INITIALISE_INDEX = True # whether or not to try creating the index and required index types on startup +INITIALISE_INDEX = True # whether or not to try creating the index and required index types on startup ELASTIC_SEARCH_VERSION = "7.10.2" ELASTIC_SEARCH_SNAPSHOT_REPOSITORY = None ELASTIC_SEARCH_SNAPSHOT_TTL = 366 @@ -96,14 +96,8 @@ ########################################### # Event handler -# use this to queue events asynchronously through kafka -EVENT_SEND_FUNCTION = "portality.events.kafka_producer.send_event" -# use this one to bypass kafka and process events immediately/synchronously -# EVENT_SEND_FUNCTION = "portality.events.shortcircuit.send_event" - -KAFKA_BROKER = "kafka://localhost:9092" -KAFKA_EVENTS_TOPIC = "events" -KAFKA_BOOTSTRAP_SERVER = "localhost:9092" +# Process events immediately/synchronously +EVENT_SEND_FUNCTION = "portality.events.shortcircuit.send_event" ########################################### # Read Only Mode @@ -239,7 +233,7 @@ ] # GitHub base url where static content can be edited by the DOAJ team (you can leave out the trailing slash) -#~~->GitHub:ExternalService~~ +# ~~->GitHub:ExternalService~~ CMS_EDIT_BASE_URL = "https://github.com/DOAJ/doaj/edit/static_pages/cms" # Where static files are served from - in case we need to serve a file @@ -273,7 +267,6 @@ SITE_NOTE_KEY = "doaj-site-note" SITE_NOTE_SLEEP = 259200 # every 3 days SITE_NOTE_COOKIE_VALUE = "You have seen our most recent site wide announcement" -SITE_NOTE_TEMPLATE = "doaj/site_note.html" #################################### # Authorisation settings @@ -291,7 +284,7 @@ # amount of time a reset token for a new account is valid for PASSWORD_CREATE_TIMEOUT = PASSWORD_RESET_TIMEOUT * 14 -#"api" top-level role is added to all acounts on creation; it can be revoked per account by removal of the role. +# "api" top-level role is added to all accounts on creation; it can be revoked per account by removal of the role. TOP_LEVEL_ROLES = [ "admin", "publisher", @@ -453,6 +446,7 @@ "article_bulk_create": {"month": "*", "day": "*", "day_of_week": "*", "hour": "*", "minute": "20"}, } + HUEY_TASKS = { "ingest_articles": {"retries": 10, "retry_delay": 15}, "preserve": {"retries": 0, "retry_delay": 15}, @@ -692,15 +686,6 @@ 'settings': DEFAULT_INDEX_SETTINGS } } -# MAPPINGS['article'] = {'article': DEFAULT_DYNAMIC_MAPPING} #~~->Article:Model~~ -# MAPPINGS['upload'] = {'upload': DEFAULT_DYNAMIC_MAPPING} #~~->Upload:Model~~ -# MAPPINGS['cache'] = {'cache': DEFAULT_DYNAMIC_MAPPING} #~~->Cache:Model~~ -# MAPPINGS['lcc'] = {'lcc': DEFAULT_DYNAMIC_MAPPING} #~~->LCC:Model~~ -# MAPPINGS['editor_group'] = {'editor_group': DEFAULT_DYNAMIC_MAPPING} #~~->EditorGroup:Model~~ -# MAPPINGS['news'] = {'news': DEFAULT_DYNAMIC_MAPPING} #~~->News:Model~~ -# MAPPINGS['lock'] = {'lock': DEFAULT_DYNAMIC_MAPPING} #~~->Lock:Model~~ -# MAPPINGS['provenance'] = {'provenance': DEFAULT_DYNAMIC_MAPPING} #~~->Provenance:Model~~ -# MAPPINGS['preserve'] = {'preserve': DEFAULT_DYNAMIC_MAPPING} #~~->Preservation:Model~~ MAPPINGS['article'] = MAPPINGS["account"] #~~->Article:Model~~ MAPPINGS['upload'] = MAPPINGS["account"] #~~->Upload:Model~~ @@ -719,222 +704,223 @@ # ~~->Query:WebRoute~~ QUERY_ROUTE = { - "query" : { + "query": { # ~~->PublicJournalQuery:Endpoint~~ - "journal" : { - "auth" : False, - "role" : None, - "query_validators" : ["non_public_fields_validator", "public_query_validator"], - "query_filters" : ["only_in_doaj", "last_update_fallback", "search_all_meta"], - "result_filters" : ["public_result_filter"], - "dao" : "portality.models.Journal", # ~~->Journal:Model~~ - "required_parameters" : {"ref" : ["ssw", "public_journal", "subject_page"]} + "journal": { + "auth": False, + "role": None, + "query_validators": ["non_public_fields_validator", "public_query_validator"], + "query_filters": ["only_in_doaj", "last_update_fallback", "search_all_meta"], + "result_filters": ["public_result_filter"], + "dao": "portality.models.Journal", # ~~->Journal:Model~~ + "required_parameters": {"ref": ["ssw", "public_journal", "subject_page"]} }, # ~~->PublicArticleQuery:Endpoint~~ - "article" : { - "auth" : False, - "role" : None, - "query_validators" : ["non_public_fields_validator", "public_query_validator"], - "query_filters" : ["only_in_doaj"], - "result_filters" : ["public_result_filter"], - "dao" : "portality.models.Article", # ~~->Article:Model~~ - "required_parameters" : {"ref" : ["public_article", "toc", "subject_page"]} + "article": { + "auth": False, + "role": None, + "query_validators": ["non_public_fields_validator", "public_query_validator"], + "query_filters": ["only_in_doaj"], + "result_filters": ["public_result_filter"], + "dao": "portality.models.Article", # ~~->Article:Model~~ + "required_parameters": {"ref": ["public_article", "toc", "subject_page"]} }, # back-compat for fixed query widget # ~~->PublicJournalArticleQuery:Endpoint~~ - "journal,article" : { - "auth" : False, - "role" : None, - "query_validators" : ["non_public_fields_validator", "public_query_validator"], - "query_filters" : ["only_in_doaj", "strip_facets", "es_type_fix", "journal_article_filter"], - "result_filters" : ["public_result_filter", "add_fqw_facets", "fqw_back_compat"], - "dao" : "portality.models.JournalArticle", # ~~->JournalArticle:Model~~ - "required_parameters" : {"ref" : ["fqw"]} + "journal,article": { + "auth": False, + "role": None, + "query_validators": ["non_public_fields_validator", "public_query_validator"], + "query_filters": ["only_in_doaj", "strip_facets", "es_type_fix", "journal_article_filter"], + "result_filters": ["public_result_filter", "add_fqw_facets", "fqw_back_compat"], + "dao": "portality.models.JournalArticle", # ~~->JournalArticle:Model~~ + "required_parameters": {"ref": ["fqw"]} } }, - "publisher_query" : { + "publisher_query": { # ~~->PublisherJournalQuery:Endpoint~~ - "journal" : { - "auth" : True, - "role" : "publisher", - "query_validators" : ["non_public_fields_validator"], - "query_filters" : ["owner", "only_in_doaj", "search_all_meta"], - "result_filters" : ["publisher_result_filter"], - "dao" : "portality.models.Journal" # ~~->Journal:Model~~ + "journal": { + "auth": True, + "role": "publisher", + "query_validators": ["non_public_fields_validator"], + "query_filters": ["owner", "only_in_doaj", "search_all_meta"], + "result_filters": ["publisher_result_filter"], + "dao": "portality.models.Journal" # ~~->Journal:Model~~ }, # ~~->PublisherApplicationQuery:Endpoint~~ - "applications" : { - "auth" : True, - "role" : "publisher", - "query_validators" : ["non_public_fields_validator"], - "query_filters" : ["owner", "not_update_request", "search_all_meta"], - "result_filters" : ["publisher_result_filter"], - "dao" : "portality.models.AllPublisherApplications" # ~~->AllPublisherApplications:Model~~ + "applications": { + "auth": True, + "role": "publisher", + "query_validators": ["non_public_fields_validator"], + "query_filters": ["owner", "not_update_request", "search_all_meta"], + "result_filters": ["publisher_result_filter"], + "dao": "portality.models.AllPublisherApplications" # ~~->AllPublisherApplications:Model~~ }, # ~~->PublisherUpdateRequestsQuery:Endpoint~~ - "update_requests" : { - "auth" : True, - "role" : "publisher", - "query_validators" : ["non_public_fields_validator"], - "query_filters" : ["owner", "update_request", "search_all_meta"], - "result_filters" : ["publisher_result_filter"], - "dao" : "portality.models.Application" # ~~->Application:Model~~ + "update_requests": { + "auth": True, + "role": "publisher", + "query_validators": ["non_public_fields_validator"], + "query_filters": ["owner", "update_request", "search_all_meta"], + "result_filters": ["publisher_result_filter"], + "dao": "portality.models.Application" # ~~->Application:Model~~ } }, - "admin_query" : { + "admin_query": { # ~~->AdminJournalQuery:Endpoint~~ - "journal" : { - "auth" : True, - "role" : "admin", - "dao" : "portality.models.Journal" # ~~->Journal:Model~~ + "journal": { + "auth": True, + "role": "admin", + "dao": "portality.models.Journal" # ~~->Journal:Model~~ }, # ~~->AdminApplicationQuery:Endpoint~~ - "suggestion" : { - "auth" : True, - "role" : "admin", - "query_filters" : ["not_update_request"], - "dao" : "portality.models.Application" # ~~->Application:Model~~ + "suggestion": { + "auth": True, + "role": "admin", + "query_filters": ["not_update_request"], + "dao": "portality.models.Application" # ~~->Application:Model~~ }, # ~~->AdminUpdateRequestQuery:Endpoint~~ "update_requests": { "auth": True, "role": "admin", - "query_filters" : ["update_request"], + "query_filters": ["update_request"], "dao": "portality.models.Application" # ~~->Application:Model~~ }, # ~~->AdminEditorGroupQuery:Endpoint~~ - "editor,group" : { - "auth" : True, - "role" : "admin", - "dao" : "portality.models.EditorGroup" # ~~->EditorGroup:Model~~ + "editor,group": { + "auth": True, + "role": "admin", + "dao": "portality.models.EditorGroup" # ~~->EditorGroup:Model~~ }, # ~~->AdminAccountQuery:Endpoint~~ - "account" : { - "auth" : True, - "role" : "admin", - "dao" : "portality.models.Account" # ~~->Account:Model~~ + "account": { + "auth": True, + "role": "admin", + "dao": "portality.models.Account" # ~~->Account:Model~~ }, # ~~->AdminJournalArticleQuery:Endpoint~~ - "journal,article" : { - "auth" : True, - "role" : "admin", - "dao" : "portality.models.search.JournalArticle" # ~~->JournalArticle:Model~~ + "journal,article": { + "auth": True, + "role": "admin", + "dao": "portality.models.search.JournalArticle" # ~~->JournalArticle:Model~~ }, # ~~->AdminBackgroundJobQuery:Endpoint~~ - "background,job" : { - "auth" : True, - "role" : "admin", - "dao" : "portality.models.BackgroundJob" # ~~->BackgroundJob:Model~~ + "background,job": { + "auth": True, + "role": "admin", + "dao": "portality.models.BackgroundJob" # ~~->BackgroundJob:Model~~ }, # ~~->APINotificationQuery:Endpoint~~ - "notifications" : { - "auth" : False, - "role" : "admin", - "dao" : "portality.models.Notification", # ~~->Notification:Model~~ - "required_parameters" : None + "notifications": { + "auth": False, + "role": "admin", + "dao": "portality.models.Notification", # ~~->Notification:Model~~ + "required_parameters": None } }, - "associate_query" : { + "associate_query": { # ~~->AssEdJournalQuery:Endpoint~~ - "journal" : { - "auth" : True, - "role" : "associate_editor", - "query_validators" : ["non_public_fields_validator"], - "query_filters" : ["associate", "search_all_meta"], - "dao" : "portality.models.Journal" # ~~->Journal:Model~~ + "journal": { + "auth": True, + "role": "associate_editor", + "query_validators": ["non_public_fields_validator"], + "query_filters": ["associate", "search_all_meta"], + "dao": "portality.models.Journal" # ~~->Journal:Model~~ }, # ~~->AssEdApplicationQuery:Endpoint~~ - "suggestion" : { - "auth" : True, - "role" : "associate_editor", - "query_validators" : ["non_public_fields_validator"], - "query_filters" : ["associate", "search_all_meta"], - "dao" : "portality.models.Application" # ~~->Application:Model~~ + "suggestion": { + "auth": True, + "role": "associate_editor", + "query_validators": ["non_public_fields_validator"], + "query_filters": ["associate", "search_all_meta"], + "dao": "portality.models.Application" # ~~->Application:Model~~ } }, - "editor_query" : { + "editor_query": { # ~~->EditorJournalQuery:Endpoint~~ - "journal" : { - "auth" : True, - "role" : "editor", - "query_validators" : ["non_public_fields_validator"], - "query_filters" : ["editor", "search_all_meta"], - "dao" : "portality.models.Journal" # ~~->Journal:Model~~ + "journal": { + "auth": True, + "role": "editor", + "query_validators": ["non_public_fields_validator"], + "query_filters": ["editor", "search_all_meta"], + "dao": "portality.models.Journal" # ~~->Journal:Model~~ }, # ~~->EditorApplicationQuery:Endpoint~~ - "suggestion" : { - "auth" : True, - "role" : "editor", - "query_validators" : ["non_public_fields_validator"], - "query_filters" : ["editor", "search_all_meta"], - "dao" : "portality.models.Application" # ~~->Application:Model~~ + "suggestion": { + "auth": True, + "role": "editor", + "query_validators": ["non_public_fields_validator"], + "query_filters": ["editor", "search_all_meta"], + "dao": "portality.models.Application" # ~~->Application:Model~~ } }, - "api_query" : { + "api_query": { # ~~->APIArticleQuery:Endpoint~~ - "article" : { - "auth" : False, - "role" : None, - "query_filters" : ["only_in_doaj", "public_source"], - "dao" : "portality.models.Article", # ~~->Article:Model~~ - "required_parameters" : None, - "keepalive" : "10m" + "article": { + "auth": False, + "role": None, + "query_filters": ["only_in_doaj", "public_source"], + "dao": "portality.models.Article", # ~~->Article:Model~~ + "required_parameters": None, + "keepalive": "10m" }, # ~~->APIJournalQuery:Endpoint~~ - "journal" : { - "auth" : False, - "role" : None, + "journal": { + "auth": False, + "role": None, "query_validators": ["non_public_fields_validator"], - "query_filters" : ["only_in_doaj", "public_source", "search_all_meta"], - "dao" : "portality.models.Journal", # ~~->Journal:Model~~ - "required_parameters" : None + "query_filters": ["only_in_doaj", "public_source", "search_all_meta"], + "dao": "portality.models.Journal", # ~~->Journal:Model~~ + "required_parameters": None }, # ~~->APIApplicationQuery:Endpoint~~ - "application" : { - "auth" : True, - "role" : None, + "application": { + "auth": True, + "role": None, "query_validators": ["non_public_fields_validator"], - "query_filters" : ["owner", "private_source", "search_all_meta"], - "dao" : "portality.models.Suggestion", # ~~->Application:Model~~ - "required_parameters" : None + "query_filters": ["owner", "private_source", "search_all_meta"], + "dao": "portality.models.Suggestion", # ~~->Application:Model~~ + "required_parameters": None } }, "dashboard_query": { # ~~->APINotificationQuery:Endpoint~~ - "notifications" : { - "auth" : False, - "role" : "read_notifications", - "query_filters" : ["who_current_user"], # ~~-> WhoCurrentUser:Query - "dao" : "portality.models.Notification", # ~~->Notification:Model~~ - "required_parameters" : None + "notifications": { + "auth": False, + "role": "read_notifications", + "query_filters": ["who_current_user"], # ~~-> WhoCurrentUser:Query + "dao": "portality.models.Notification", # ~~->Notification:Model~~ + "required_parameters": None } } } QUERY_FILTERS = { # sanitisers - "public_query_validator" : "portality.lib.query_filters.public_query_validator", - "non_public_fields_validator" : "portality.lib.query_filters.non_public_fields_validator", + "public_query_validator": "portality.lib.query_filters.public_query_validator", + "non_public_fields_validator": "portality.lib.query_filters.non_public_fields_validator", # query filters - "only_in_doaj" : "portality.lib.query_filters.only_in_doaj", - "owner" : "portality.lib.query_filters.owner", - "update_request" : "portality.lib.query_filters.update_request", - "associate" : "portality.lib.query_filters.associate", - "editor" : "portality.lib.query_filters.editor", - "strip_facets" : "portality.lib.query_filters.strip_facets", - "es_type_fix" : "portality.lib.query_filters.es_type_fix", - "last_update_fallback" : "portality.lib.query_filters.last_update_fallback", - "not_update_request" : "portality.lib.query_filters.not_update_request", - "who_current_user" : "portality.lib.query_filters.who_current_user", # ~~-> WhoCurrentUser:Query ~~ - "search_all_meta" : "portality.lib.query_filters.search_all_meta", # ~~-> SearchAllMeta:Query ~~ - "journal_article_filter" : "portality.lib.query_filters.journal_article_filter", # ~~-> JournalArticleFilter:Query ~~ + "only_in_doaj": "portality.lib.query_filters.only_in_doaj", + "owner": "portality.lib.query_filters.owner", + "update_request": "portality.lib.query_filters.update_request", + "associate": "portality.lib.query_filters.associate", + "editor": "portality.lib.query_filters.editor", + "strip_facets": "portality.lib.query_filters.strip_facets", + "es_type_fix": "portality.lib.query_filters.es_type_fix", + "last_update_fallback": "portality.lib.query_filters.last_update_fallback", + "not_update_request": "portality.lib.query_filters.not_update_request", + "who_current_user": "portality.lib.query_filters.who_current_user", # ~~-> WhoCurrentUser:Query ~~ + "search_all_meta": "portality.lib.query_filters.search_all_meta", # ~~-> SearchAllMeta:Query ~~ + "journal_article_filter": "portality.lib.query_filters.journal_article_filter", + # ~~-> JournalArticleFilter:Query ~~ # result filters "public_result_filter": "portality.lib.query_filters.public_result_filter", "publisher_result_filter": "portality.lib.query_filters.publisher_result_filter", - "add_fqw_facets" : "portality.lib.query_filters.add_fqw_facets", - "fqw_back_compat" : "portality.lib.query_filters.fqw_back_compat", + "add_fqw_facets": "portality.lib.query_filters.add_fqw_facets", + "fqw_back_compat": "portality.lib.query_filters.fqw_back_compat", # source filters "private_source": "portality.lib.query_filters.private_source", @@ -949,7 +935,7 @@ ] ADMIN_NOTES_INDEX_ONLY_FIELDS = { - "all_meta" : { + "all_meta": { "type": "text", "fields": { "exact": { @@ -995,8 +981,8 @@ # ~~->BibJSON:Model~~ AUTOCOMPLETE_ADVANCED_FIELD_MAPS = { - "bibjson.publisher.name" : "index.publisher_ac", - "bibjson.institution.name" : "index.institution_ac" + "bibjson.publisher.name": "index.publisher_ac", + "bibjson.institution.name": "index.institution_ac" } #################################################### @@ -1022,7 +1008,7 @@ # Licensing terms for feed content # ~~->SiteLicence:Content~~ -FEED_LICENCE = "(c) DOAJ 2013. CC BY-SA." +FEED_LICENCE = "(c) DOAJ 2024. CC BY-SA." # name of the feed generator (goes in the atom:generator element) FEED_GENERATOR = "CottageLabs feed generator" @@ -1125,7 +1111,6 @@ TOC_CHANGEFREQ = "monthly" - ################################################## # News feed settings # ~~->News:Feature~~ @@ -1161,9 +1146,6 @@ # ENTER YOUR OWN TOKEN IN APPROPRIATE .cfg FILE #BITLY_OAUTH_TOKEN = "" -############################################### -# Date handling -# See portality.lib.dates - moved to prevent circular import ################################################# # API configuration @@ -1178,42 +1160,42 @@ # ~~->ArticleBibJSON:Model~~ DISCOVERY_ARTICLE_SEARCH_SUBS = { - "title" : "bibjson.title", - "doi" : "bibjson.identifier.id.exact", - "issn" : "index.issn.exact", - "publisher" : "bibjson.journal.publisher", - "journal" : "bibjson.journal.title", - "abstract" : "bibjson.abstract" + "title": "bibjson.title", + "doi": "bibjson.identifier.id.exact", + "issn": "index.issn.exact", + "publisher": "bibjson.journal.publisher", + "journal": "bibjson.journal.title", + "abstract": "bibjson.abstract" } DISCOVERY_ARTICLE_SORT_SUBS = { - "title" : "index.unpunctitle.exact" + "title": "index.unpunctitle.exact" } # ~~->JournalBibJSON:Model~~ DISCOVERY_JOURNAL_SEARCH_SUBS = { - "title" : "index.title", - "issn" : "index.issn.exact", - "publisher" : "bibjson.publisher", - "license" : "index.license.exact", - "username" : "admin.owner.exact" + "title": "index.title", + "issn": "index.issn.exact", + "publisher": "bibjson.publisher", + "license": "index.license.exact", + "username": "admin.owner.exact" } DISCOVERY_JOURNAL_SORT_SUBS = { - "title" : "index.unpunctitle.exact", - "issn" : "index.issn.exact" + "title": "index.unpunctitle.exact", + "issn": "index.issn.exact" } DISCOVERY_APPLICATION_SEARCH_SUBS = { - "title" : "index.title", - "issn" : "index.issn.exact", - "publisher" : "bibjson.publisher", - "license" : "index.license.exact" + "title": "index.title", + "issn": "index.issn.exact", + "publisher": "bibjson.publisher", + "license": "index.license.exact" } DISCOVERY_APPLICATION_SORT_SUBS = { - "title" : "index.unpunctitle.exact", - "issn" : "index.issn.exact" + "title": "index.unpunctitle.exact", + "issn": "index.issn.exact" } # API data dump settings @@ -1334,12 +1316,12 @@ ############################################# -## Harvester Configuration +# Harvester Configuration # ~~->Harvester:Feature~~ -## Configuration options for the DOAJ API Client +# Configuration options for the DOAJ API Client -## EPMC Client configuration +# EPMC Client configuration # ~~-> EPMC:ExternalService~~ EPMC_REST_API = "https://www.ebi.ac.uk/europepmc/webservices/rest/" EPMC_TARGET_VERSION = "6.9" # doc here: https://europepmc.org/docs/Europe_PMC_RESTful_Release_Notes.pdf @@ -1469,7 +1451,7 @@ } ################################################## -## Public data dump settings +# Public data dump settings # how long should the temporary URL for public data dumps last PUBLIC_DATA_DUMP_URL_TIMEOUT = 3600 @@ -1547,7 +1529,7 @@ # Datalog # ~~->Datalog:Feature~~ -### Datalog for Journal Added +# Datalog for Journal Added # google sheet filename for datalog ja DATALOG_JA_FILENAME = 'DOAJ: journals added and withdrawn' diff --git a/portality/static/crossref/JATS-journalpublishing1.xsd b/portality/static/crossref/JATS-journalpublishing1.xsd index 47eb75235f..063f7ab2e3 100644 --- a/portality/static/crossref/JATS-journalpublishing1.xsd +++ b/portality/static/crossref/JATS-journalpublishing1.xsd @@ -3,7 +3,7 @@ targetNamespace="http://www.ncbi.nlm.nih.gov/JATS1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified"> - + diff --git a/portality/static/crossref/xlink.xsd b/portality/static/crossref/xlink.xsd new file mode 100644 index 0000000000..f6e909e0c1 --- /dev/null +++ b/portality/static/crossref/xlink.xsd @@ -0,0 +1,270 @@ + + + + + This schema document provides attribute declarations and +attribute group, complex type and simple type definitions which can be used in +the construction of user schemas to define the structure of particular linking +constructs, e.g. + + + + + + + ... + + ... + + + ... +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intended for use as the type of user-declared elements to make them + simple links. + + + + + + + + + + + + + + + + + + + + + + + + + Intended for use as the type of user-declared elements to make them + extended links. + Note that the elements referenced in the content model are all abstract. + The intention is that by simply declaring elements with these as their + substitutionGroup, all the right things will happen. + + + + + + + + + + + + + + xml:lang is not required, but provides much of the + motivation for title elements in addition to attributes, and so + is provided here for convenience. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + label is not required, but locators have no particular + XLink function if they are not labeled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + from and to have default behavior when values are missing + + + + + + + + + + + + + + + + + diff --git a/portality/static/crossref/xml.xsd b/portality/static/crossref/xml.xsd new file mode 100644 index 0000000000..aea7d0db0a --- /dev/null +++ b/portality/static/crossref/xml.xsd @@ -0,0 +1,287 @@ + + + + + + +
+

About the XML namespace

+ +
+

+ This schema document describes the XML namespace, in a form + suitable for import by other schema documents. +

+

+ See + http://www.w3.org/XML/1998/namespace.html and + + http://www.w3.org/TR/REC-xml for information + about this namespace. +

+

+ Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. +

+

+ See further below in this document for more information about how to refer to this schema document from your own + XSD schema documents and about the + namespace-versioning policy governing this schema document. +

+
+
+
+
+ + + + +
+ +

lang (as an attribute name)

+

+ denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.

+ +
+
+

Notes

+

+ Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. +

+

+ See BCP 47 at + http://www.rfc-editor.org/rfc/bcp/bcp47.txt + and the IANA language subtag registry at + + http://www.iana.org/assignments/language-subtag-registry + for further information. +

+

+ The union allows for the 'un-declaration' of xml:lang with + the empty string. +

+
+
+
+ + + + + + + + + +
+ + + + +
+ +

space (as an attribute name)

+

+ denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.

+ +
+
+
+ + + + + + +
+ + + +
+ +

base (as an attribute name)

+

+ denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.

+ +

+ See http://www.w3.org/TR/xmlbase/ + for information about this attribute. +

+
+
+
+
+ + + + +
+ +

id (as an attribute name)

+

+ denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.

+ +

+ See http://www.w3.org/TR/xml-id/ + for information about this attribute. +

+
+
+
+
+ + + + + + + + + + +
+ +

Father (in any context at all)

+ +
+

+ denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: +

+
+

+ In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". +

+
+
+
+
+
+ + + +
+

About this schema document

+ +
+

+ This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow xml:base, + xml:lang, xml:space or + xml:id attributes on elements they define. +

+

+ To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: +

+
+          <schema . . .>
+           . . .
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     
+

+ or +

+
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     
+

+ Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. +

+
+          <type . . .>
+           . . .
+           <attributeGroup ref="xml:specialAttrs"/>
+     
+

+ will define a type which will schema-validate an instance element + with any of those attributes. +

+
+
+
+
+ + + +
+

Versioning policy for this schema document

+
+

+ In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + + http://www.w3.org/2009/01/xml.xsd. +

+

+ At the date of issue it can also be found at + + http://www.w3.org/2001/xml.xsd. +

+

+ The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + http://www.w3.org/2001/xml.xsd + + will change accordingly; the version at + + http://www.w3.org/2009/01/xml.xsd + + will not change. +

+

+ Previous dated (and unchanging) versions of this schema + document are at: +

+ +
+
+
+
+ +
+ diff --git a/portality/static/js/application_form.js b/portality/static/js/application_form.js index b3c646dfac..e7959a2db3 100644 --- a/portality/static/js/application_form.js +++ b/portality/static/js/application_form.js @@ -35,7 +35,9 @@ doaj.af.journalFormFactory = (params) => { return doaj.af.newEditorJournalForm(params); case "associate_editor": return doaj.af.newAssociateJournalForm(params); - case "readonly": + case "admin_readonly": + return doaj.af.newReadOnlyJournalForm(params); + case "editor_readonly": return doaj.af.newReadOnlyJournalForm(params); default: throw "Could not extract a context from the form"; diff --git a/portality/tasks/async_workflow_notifications.py b/portality/tasks/async_workflow_notifications.py index b0236af7ec..70de3eb70e 100644 --- a/portality/tasks/async_workflow_notifications.py +++ b/portality/tasks/async_workflow_notifications.py @@ -11,6 +11,7 @@ from portality.lib.dates import FMT_DATETIME_STD from portality.tasks.helpers import background_helper from portality.tasks.redis_huey import main_queue, schedule +from portality.ui import templates class AgeQuery(object): @@ -200,7 +201,7 @@ def managing_editor_notifications(emails_dict): idle_res = models.Suggestion.query(q=age_query.query()) num_idle = idle_res.get('hits', {}).get('total', {}).get('value', 0) - text = render_template('email/workflow_reminder_fragments/admin_age_frag', num_idle=num_idle, x_weeks=X_WEEKS) + text = render_template(templates.EMAIL_WF_ADMIN_AGE, num_idle=num_idle, x_weeks=X_WEEKS) _add_email_paragraph(emails_dict, MAN_ED_EMAIL, 'Managing Editors', text) # The second notification - the number of ready records @@ -214,7 +215,7 @@ def managing_editor_notifications(emails_dict): ready_res = models.Suggestion.query(q=ready_query.query()) num_ready = ready_res.get('hits').get('total', {}).get('value', 0) - text = render_template('email/workflow_reminder_fragments/admin_ready_frag', num=num_ready, url=ready_url) + text = render_template(templates.EMAIL_WF_ADMIN_READY, num=num_ready, url=ready_url) _add_email_paragraph(emails_dict, MAN_ED_EMAIL, 'Managing Editors', text) @@ -255,7 +256,7 @@ def editor_notifications(emails_dict, limit=None): editor = eg.get_editor_account() ed_email = editor.email - text = render_template('email/workflow_reminder_fragments/editor_groupcount_frag', num=group_count, ed_group=group_name, url=ed_url) + text = render_template(templates.EMAIL_WF_EDITOR_GROUPCOUNT, num=group_count, ed_group=group_name, url=ed_url) _add_email_paragraph(emails_dict, ed_email, eg.editor, text) # Second note - records within editor group not touched for so long @@ -286,7 +287,7 @@ def editor_notifications(emails_dict, limit=None): editor = eg.get_editor_account() ed_email = editor.email - text = render_template('email/workflow_reminder_fragments/editor_age_frag', num=group_count, ed_group=group_name, url=ed_age_url, x_weeks=X_WEEKS) + text = render_template(templates.EMAIL_WF_EDITOR_AGE, num=group_count, ed_group=group_name, url=ed_age_url, x_weeks=X_WEEKS) _add_email_paragraph(emails_dict, ed_email, eg.editor, text) @@ -336,7 +337,7 @@ def associate_editor_notifications(emails_dict, limit=None): app.logger.warning("No account found for ID {0}".format(assoc_id)) continue - text = render_template('email/workflow_reminder_fragments/assoc_ed_age_frag', num_idle=idle, x_days=X_DAYS, num_very_idle=very_idle, y_weeks=Y_WEEKS, url=url) + text = render_template(templates.EMAIL_WF_ASSED_AGE, num_idle=idle, x_days=X_DAYS, num_very_idle=very_idle, y_weeks=Y_WEEKS, url=url) _add_email_paragraph(emails_dict, assoc_email, assoc_id, text) diff --git a/portality/templates-v2/README.md b/portality/templates-v2/README.md new file mode 100644 index 0000000000..096ea35409 --- /dev/null +++ b/portality/templates-v2/README.md @@ -0,0 +1,42 @@ +# Template directory structure + +Every level of the template directory structure can look like this: + +``` +├── base.html => the base file for all templates in this level or below. It must inherit from the template in the level above +├── [sub level] => All template files associated with the next level down in the hierarcy. For example, the `management` directory under the base +├── _[common infrastructure] => application forms, email templates, anything else that is used in many places at this level or below +├── includes => Any files that are included generally at this level or below +├── layouts => any layouts that are used generally at this level or below +``` + +For example + +``` +├── base.html +├── management + ├── base.html => extends ../base.html + ├── maned + ├── editor + ├── assed +├──public + ├── layouts + ├── static-pages.html + ├── publisher +├── _application_forms +├── _emails +├── includes + ├── _cookie-consent.html +├── layouts + ├── sidenav.html +``` + +Files should be named according to these rules: + +* If a file is called directly by a view, it should be named with `-` providing any spaces in the name. For example `static-pages.html` +* If a file is included or imported within a template, it should be named with a `_` prefix and `-` providing any spaces in the name. For example: `_edges-common-css.html` +* If a file has a close relationship with another template file, it may be prefixed with an `_` that template's name, and separated with a `_`. For example: `_static-pages_no-sidenav.html` + + +# Block hierarchy + diff --git a/portality/templates-v2/_account/includes/_api-access.html b/portality/templates-v2/_account/includes/_api-access.html new file mode 100644 index 0000000000..0353448f1d --- /dev/null +++ b/portality/templates-v2/_account/includes/_api-access.html @@ -0,0 +1,22 @@ +{% if account.has_role("api") %} + +{% endif %} \ No newline at end of file diff --git a/portality/templates-v2/_account/includes/_edit_form_js.html b/portality/templates-v2/_account/includes/_edit_form_js.html new file mode 100644 index 0000000000..bb6cf3ebfe --- /dev/null +++ b/portality/templates-v2/_account/includes/_edit_form_js.html @@ -0,0 +1,38 @@ + + + diff --git a/portality/templates-v2/_account/includes/_edit_user_form.html b/portality/templates-v2/_account/includes/_edit_user_form.html new file mode 100644 index 0000000000..bca8acce8a --- /dev/null +++ b/portality/templates-v2/_account/includes/_edit_user_form.html @@ -0,0 +1,54 @@ +{% from "includes/_formhelpers.html" import render_field %} + +

Edit your details

+ +
+ +
+ {# User role #} + {% if current_user.is_super %} +
+ {{ render_field(form.roles, value=account.role|join(','), style="width: 75%") }} +
+ {% else %} +
+
User roles
+ {% for role in account.role %} +
{{ role }}
+ {% endfor %} +
+ {% endif %} + + {# Full name #} +
+ {{ render_field(form.name, placeholder="Firstname Lastname") }} +
+
+
+

+ NOTE: Changing your email address will log you out. You will need to verify the new email address and enter a new password. +

+ +
+
+ {# Email address #} +
+ {{ render_field(form.email, placeholder="name@email.com") }} +
+
+ {{ render_field(form.email_confirm, value='', placeholder="name@email.com") }} +
+
+
+ {# Password change #} +
+ {{ render_field(form.password_change, placeholder="********", autocomplete="new-password") }} +
+
+ {{ render_field(form.password_confirm, placeholder="********") }} +
+
+
+
+ +
diff --git a/portality/templates-v2/_account/includes/_login_form.html b/portality/templates-v2/_account/includes/_login_form.html new file mode 100644 index 0000000000..8582f5ed3f --- /dev/null +++ b/portality/templates-v2/_account/includes/_login_form.html @@ -0,0 +1,12 @@ +{% from "includes/_formhelpers.html" import render_field %} + +
+
+ {{ render_field(form.user, placeholder="email@example.com") }} +
+
+ {{ render_field(form.password, placeholder="********") }} +
+ {{ render_field(form.next) }} + +
diff --git a/portality/templates-v2/_account/includes/_marketing-consent.html b/portality/templates-v2/_account/includes/_marketing-consent.html new file mode 100644 index 0000000000..8ef8b8a009 --- /dev/null +++ b/portality/templates-v2/_account/includes/_marketing-consent.html @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/portality/templates-v2/_account/includes/_register_form.html b/portality/templates-v2/_account/includes/_register_form.html new file mode 100644 index 0000000000..718fee8793 --- /dev/null +++ b/portality/templates-v2/_account/includes/_register_form.html @@ -0,0 +1,30 @@ +{% from "includes/_formhelpers.html" import render_field %} + +
+ +
+ {% if current_user.is_authenticated and current_user.has_role("create_user") %} + {# Admins can specify a user ID #} + {{ render_field(form.identifier) }}
+ {% endif %} + {{ render_field(form.name, placeholder="Firstname Lastname") }} +
+
+ {{ render_field(form.email, placeholder="user@example.com") }} +
+ {% if current_user.is_authenticated and current_user.has_role("create_user") %} + {# Admins can specify a user ID #} +
+ {{ render_field(form.roles) }} +
+ {% endif %} + +
+ + {{ render_field(form.next) }} + {{form.recaptcha_value(id="recaptcha_value")}} + +
+ +
+
diff --git a/portality/templates-v2/_account/includes/_reset_form.html b/portality/templates-v2/_account/includes/_reset_form.html new file mode 100644 index 0000000000..373ecb6491 --- /dev/null +++ b/portality/templates-v2/_account/includes/_reset_form.html @@ -0,0 +1,10 @@ +{% from "includes/_formhelpers.html" import render_field %} + +
+
+ {{ render_field(form.password, placeholder="********") }} +
+ {{ render_field(form.confirm, placeholder="********") }} +
+ +
\ No newline at end of file diff --git a/portality/templates/application_form/_application_warning_msg.html b/portality/templates-v2/_application-form/includes/_application_warning_msg.html similarity index 99% rename from portality/templates/application_form/_application_warning_msg.html rename to portality/templates-v2/_application-form/includes/_application_warning_msg.html index 85c706816e..f693240700 100644 --- a/portality/templates/application_form/_application_warning_msg.html +++ b/portality/templates-v2/_application-form/includes/_application_warning_msg.html @@ -1,4 +1,3 @@ - {% macro build_journal_withdrawn_deleted_msg(obj) -%} {% if obj["es_type"] == "application" and obj.application_type == "update_request" diff --git a/portality/templates-v2/_application-form/includes/_backend_validation.html b/portality/templates-v2/_application-form/includes/_backend_validation.html new file mode 100644 index 0000000000..294b0f9785 --- /dev/null +++ b/portality/templates-v2/_application-form/includes/_backend_validation.html @@ -0,0 +1,11 @@ +{% if formulaic_context.wtform_inst.errors %} +
+ This form has errors which prevented its submission. The following fields are invalid: +
    + {% for field, errors in formulaic_context.wtform_inst.errors.items() %} + {% set field_def = formulaic_context.get(field) %} +
  • {{ field_def.label }}
  • + {% endfor %} +
+
+{% endif %} diff --git a/portality/templates/application_form/_entry_group.html b/portality/templates-v2/_application-form/includes/_entry_group.html similarity index 100% rename from portality/templates/application_form/_entry_group.html rename to portality/templates-v2/_application-form/includes/_entry_group.html diff --git a/portality/templates/application_form/_entry_group_horizontal.html b/portality/templates-v2/_application-form/includes/_entry_group_horizontal.html similarity index 100% rename from portality/templates/application_form/_entry_group_horizontal.html rename to portality/templates-v2/_application-form/includes/_entry_group_horizontal.html diff --git a/portality/templates/application_form/_field.html b/portality/templates-v2/_application-form/includes/_field.html similarity index 95% rename from portality/templates/application_form/_field.html rename to portality/templates-v2/_application-form/includes/_field.html index 0e1d37e1d5..a7ee3ec44e 100644 --- a/portality/templates/application_form/_field.html +++ b/portality/templates-v2/_application-form/includes/_field.html @@ -1,4 +1,4 @@ -{% from "application_form/_value.html" import value %} +{% from "_application-form/includes/_value.html" import value %}
@@ -71,4 +71,4 @@
-{% include "application_form/modal.html" %} +{% include "_application-form/includes/_modal.html" %} diff --git a/portality/templates/application_form/02-about/index.html b/portality/templates-v2/_application-form/includes/_fieldset_about.html similarity index 100% rename from portality/templates/application_form/02-about/index.html rename to portality/templates-v2/_application-form/includes/_fieldset_about.html diff --git a/portality/templates/application_form/06-best-practice/index.html b/portality/templates-v2/_application-form/includes/_fieldset_best-practice.html similarity index 100% rename from portality/templates/application_form/06-best-practice/index.html rename to portality/templates-v2/_application-form/includes/_fieldset_best-practice.html diff --git a/portality/templates/application_form/05-business-model/index.html b/portality/templates-v2/_application-form/includes/_fieldset_business-model.html similarity index 100% rename from portality/templates/application_form/05-business-model/index.html rename to portality/templates-v2/_application-form/includes/_fieldset_business-model.html diff --git a/portality/templates/application_form/03-copyright-licensing/index.html b/portality/templates-v2/_application-form/includes/_fieldset_copyright-licensing.html similarity index 100% rename from portality/templates/application_form/03-copyright-licensing/index.html rename to portality/templates-v2/_application-form/includes/_fieldset_copyright-licensing.html diff --git a/portality/templates/application_form/04-editorial/index.html b/portality/templates-v2/_application-form/includes/_fieldset_editorial.html similarity index 100% rename from portality/templates/application_form/04-editorial/index.html rename to portality/templates-v2/_application-form/includes/_fieldset_editorial.html diff --git a/portality/templates/application_form/01-oa-compliance/index.html b/portality/templates-v2/_application-form/includes/_fieldset_oa_compliance.html similarity index 100% rename from portality/templates/application_form/01-oa-compliance/index.html rename to portality/templates-v2/_application-form/includes/_fieldset_oa_compliance.html diff --git a/portality/templates/application_form/js/_form_js.html b/portality/templates-v2/_application-form/includes/_form_js.html similarity index 91% rename from portality/templates/application_form/js/_form_js.html rename to portality/templates-v2/_application-form/includes/_form_js.html index 323b90b656..1329ce8f53 100644 --- a/portality/templates/application_form/js/_form_js.html +++ b/portality/templates-v2/_application-form/includes/_form_js.html @@ -1,8 +1,5 @@ - - -{# #} diff --git a/portality/templates/application_form/_group.html b/portality/templates-v2/_application-form/includes/_group.html similarity index 95% rename from portality/templates/application_form/_group.html rename to portality/templates-v2/_application-form/includes/_group.html index cb0d98f64c..2d20c25cb8 100644 --- a/portality/templates/application_form/_group.html +++ b/portality/templates-v2/_application-form/includes/_group.html @@ -27,4 +27,4 @@ {% endif %}
-{% include "application_form/modal.html" %} +{% include "_application-form/includes/_modal.html" %} diff --git a/portality/templates/application_form/_list.html b/portality/templates-v2/_application-form/includes/_list.html similarity index 95% rename from portality/templates/application_form/_list.html rename to portality/templates-v2/_application-form/includes/_list.html index 02567676cc..656c3d118d 100644 --- a/portality/templates/application_form/_list.html +++ b/portality/templates-v2/_application-form/includes/_list.html @@ -1,4 +1,4 @@ -{% from "application_form/_value.html" import value %} +{% from "_application-form/includes/_value.html" import value %}
@@ -59,5 +59,5 @@

{{ f.help("short_help") | safe }}

{% endif %} - {% include "application_form/modal.html" %} + {% include "_application-form/includes/_modal.html" %}
diff --git a/portality/templates/application_form/modal.html b/portality/templates-v2/_application-form/includes/_modal.html similarity index 100% rename from portality/templates/application_form/modal.html rename to portality/templates-v2/_application-form/includes/_modal.html diff --git a/portality/templates-v2/_application-form/includes/_public_fieldsets.html b/portality/templates-v2/_application-form/includes/_public_fieldsets.html new file mode 100644 index 0000000000..04c3a1a025 --- /dev/null +++ b/portality/templates-v2/_application-form/includes/_public_fieldsets.html @@ -0,0 +1,18 @@ +
+ {% include "_application-form/includes/_fieldset_oa_compliance.html" %} +
+
+ {% include "_application-form/includes/_fieldset_about.html" %} +
+
+ {% include "_application-form/includes/_fieldset_copyright-licensing.html" %} +
+
+ {% include "_application-form/includes/_fieldset_editorial.html" %} +
+
+ {% include "_application-form/includes/_fieldset_business-model.html" %} +
+
+ {% include "_application-form/includes/_fieldset_best-practice.html" %} +
\ No newline at end of file diff --git a/portality/templates/application_form/_value.html b/portality/templates-v2/_application-form/includes/_value.html similarity index 100% rename from portality/templates/application_form/_value.html rename to portality/templates-v2/_application-form/includes/_value.html diff --git a/portality/templates-v2/_articles/includes/_article_metadata_form.html b/portality/templates-v2/_articles/includes/_article_metadata_form.html new file mode 100644 index 0000000000..09ec2c9f13 --- /dev/null +++ b/portality/templates-v2/_articles/includes/_article_metadata_form.html @@ -0,0 +1,109 @@ +
+

Article

+ {{ render_field_horizontal(form.title) }} + {{ render_field_horizontal(form.fulltext, placeholder="https://www.example.com") }} + {{ render_field_horizontal(form.doi, placeholder="10.1234/article-32") }} +
+ +
+
+ {% for subfield in form.authors %} +
+

Author (required)

+ {% for field in subfield.form %} +
+ + {% if field.label.text == "ORCID iD" %} + {{ field(placeholder="https://orcid.org/0000-0000-0000-0000") }} + {% else %} + {{ field }} + {% endif %} +
+ {% endfor %} + {% for error in subfield.errors %} +
+
    +
  • {{ subfield.errors.get(error)[0] }}
  • +
+
+ {% endfor %} + +
+ {% endfor %} +

+ +

+ {% if author_error %} +
+
    +
  • Please provide at least one author
  • +
+
+ {% endif %} +
+
+ +
+

Publication date

+
+
+
+ {{ render_field_horizontal(form.publication_month) }} +
+
+ {{ render_field_horizontal(form.publication_year) }} +
+
+
+
+ +
+

ISSNs

+
+
+
+ {{ render_field_horizontal(form.pissn)}} +
+
+ {{ render_field_horizontal(form.eissn) }} +
+
+
+
+ +
+

Journal

+
+
+
+ {{ render_field_horizontal(form.volume)}} +
+
+ {{ render_field_horizontal(form.number) }} +
+
+
+
+ +
+

Page(s)

+
+
+
+ {{ render_field_horizontal(form.start)}} +
+
+ {{ render_field_horizontal(form.end) }} +
+
+
+
+ +
+ {{ render_field_horizontal(form.abstract) }} + {{ render_field_horizontal(form.keywords) }} +
diff --git a/portality/templates/includes/_tourist.html b/portality/templates-v2/_tourist/includes/_tourist.html similarity index 100% rename from portality/templates/includes/_tourist.html rename to portality/templates-v2/_tourist/includes/_tourist.html diff --git a/portality/templates/includes/_tourist_nav.html b/portality/templates-v2/_tourist/includes/_tourist_nav.html similarity index 100% rename from portality/templates/includes/_tourist_nav.html rename to portality/templates-v2/_tourist/includes/_tourist_nav.html diff --git a/portality/templates-v2/base.html b/portality/templates-v2/base.html new file mode 100644 index 0000000000..1fe3553814 --- /dev/null +++ b/portality/templates-v2/base.html @@ -0,0 +1,75 @@ + + + + + + {% block page_title %}Directory of Open Access Journals{% endblock %} – DOAJ + + + + + + + + + + + + + {% block base_meta %}{% endblock %} + + + + + + + + + + + {# FIXME: probably just on the application form? #} + + + {# Page-specific styles todo: select2 could possibly go here #} + {% block base_stylesheets %}{% endblock %} + + + + + + + + +{% if not request.cookies.get(config.get("CONSENT_COOKIE_KEY")) %} + {% include "includes/_cookie_consent.html" %} +{% endif %} + +{% block base_content %}{% endblock %} + +{% include 'includes/_js_includes.html' %} + +{% if not request.cookies.get("doaj-consent") %} + +{% endif %} + +{% block base_js %}{% endblock %} + + + + diff --git a/portality/templates-v2/dev/redhead/blocks.html b/portality/templates-v2/dev/redhead/blocks.html new file mode 100644 index 0000000000..7679c0db0e --- /dev/null +++ b/portality/templates-v2/dev/redhead/blocks.html @@ -0,0 +1,164 @@ + + + + + Redhead: Jinja2 template structure browser + + + + + + + +{% macro render_block_node(node, display) %} +
  • + {{ node.name }} +{# #} +{# {% if not node.content %}[Empty]{% else %}[Has Content]{% endif %}#} +{# {% if node.overrides|length == 0 %}[New Definition]{% endif %}#} +{# {% if node.scoped %}[Scoped]{% endif %}#} +{# {% if node.overridden_by|length == 0 and not node.content %}[WARNING: Unused block]{% endif %}#} +{# {% for over in node.overrides %}#} +{# {% if not loop.first %}
    {% endif %}#} +{# {% for p in over.paths %}#} +{# [{{ p|join(" < ") }}]#} +{# {% endfor %}#} +{# {% endfor %}#} +{#
    #} + {% if node.blocks|length > 0 or node.files|length > 0 %} +
      + {% if node.blocks|length > 0 %} +
    • [+] Blocks +
        + {% for block in node.blocks %} + {{ render_block_node(block) }} + {% endfor %} +
      +
    • + {% endif %} + {% if node.files|length > 0 %} +
    • [+] Files +
        + {% for f in node.files %} +
      • {{ path_layout(f) }}
      • + {% endfor %} +
      +
    • + {% endif %} +
    + {% endif %} +
  • +{% endmacro %} + +{% macro path_layout(path) %} + {% set bits = path.split("/") %} + {%- for bit in bits %} + {{ bit }}{% if not loop.last %}/{% endif %} + {% endfor -%} +{% endmacro %} + +File Inheritance | Block Inheritance | + Records JSON | Tree JSON | Blocks JSON

    + +

    Block Inheritance

    + +Expand all | Collapse all + +
      + {% for node in tree %} + {{ render_block_node(node, true) }} + {% endfor %} +
    + + + + + + + \ No newline at end of file diff --git a/portality/templates-v2/dev/redhead/tree.html b/portality/templates-v2/dev/redhead/tree.html new file mode 100644 index 0000000000..eaf11244f6 --- /dev/null +++ b/portality/templates-v2/dev/redhead/tree.html @@ -0,0 +1,240 @@ + + + + + Redhead: Jinja2 template structure browser + + + + + + +{% macro render_file_node(node, display) %} +
  • + {{ path_layout(node.name) }} {% if node.unresolved %}[WARNING: unresolved file]{% endif %} + {% if node.blocks|length > 0 or node.includes|length > 0 or node.extensions|length > 0 or node.dynamic_includes|length > 0 %} +
      + {% if node.blocks|length > 0 %} +
    • [+] Blocks +
        + {% for block in node.blocks %} + {{ render_block_node(block) }} + {% endfor %} +
      +
    • + {% endif %} + {% if node.includes|length > 0 %} +
    • [+] Includes +
        + {% for include in node.includes %} + {{ render_file_node(include) }} + {% endfor %} +
      +
    • + {% endif %} + {% if node.dynamic_includes|length > 0 %} +
    • [+] Dynamic Includes +
        + {% for include in node.dynamic_includes %} +
      • {{ include }}
      • + {% endfor %} +
      +
    • + {% endif %} + {% if node.extensions|length > 0 %} +
    • [+] Extensions +
        + {% for extension in node.extensions %} + {{ render_file_node(extension) }} + {% endfor %} +
      +
    • + {% endif %} +
    + {% endif %} +
  • +{% endmacro %} + +{% macro render_block_node(node) %} +
  • + {{ node.name }} + + {% if not node.content %}[Empty]{% else %}[Has Content]{% endif %} + {% if node.overrides|length == 0 %}[New Definition]{% endif %} + {% if node.scoped %}[Scoped]{% endif %} + {% if node.overridden_by|length == 0 and not node.content %}[WARNING: Unused block]{% endif %} + {% for over in node.overrides %} + {% if not loop.first %}
    {% endif %} + {% for p in over.paths %} + [{{ p|join(" < ") }}] + {% endfor %} + {% endfor %} +
    + {% if node.blocks|length > 0 or node.includes|length > 0 or node.overridden_by|length > 0 or node.dynamic_includes|length > 0 %} +
      + {% if node.blocks|length > 0 %} +
    • [+] Blocks +
        + {% for block in node.blocks %} + {{ render_block_node(block) }} + {% endfor %} +
      +
    • + {% endif %} + {% if node.includes|length > 0 %} +
    • [+] Includes +
        + {% for include in node.includes %} + {{ render_file_node(include) }} + {% endfor %} +
      +
    • + {% endif %} + {% if node.dynamic_includes|length > 0 %} +
    • [+] Dynamic Includes +
        + {% for include in node.dynamic_includes %} +
      • {{ include }}
      • + {% endfor %} +
      +
    • + {% endif %} + {% if node.overridden_by|length > 0 %} +
    • [+] Overridden by +
        + {% for over in node.overridden_by %} +
      • + {{ over.file }} + {% if not over.content %}[Empty]{% endif %} + {% for p in over.paths %} + {% if not loop.first %}
        {% endif %} + [{{ p|join(" > ") }}] + {% endfor %} +
      • + {% endfor %} +
      +
    • + {% endif %} +
    + {% endif %} +
  • +{% endmacro %} + +{% macro path_layout(path) %} + {% set bits = path.split("/") %} + {%- for bit in bits %} + {{ bit }}{% if not loop.last %}/{% endif %} + {% endfor -%} +{% endmacro %} + +File Inheritance | Block Inheritance | + Records JSON | Tree JSON | Blocks JSON
    + +

    File Inheritance

    + +Expand all | Collapse all + +
      + {% for node in tree %} + {{ render_file_node(node, true) }} + {% endfor %} +
    + + + + + + + \ No newline at end of file diff --git a/portality/templates/testdrive/testdrive.html b/portality/templates-v2/dev/testdrive/testdrive.html similarity index 100% rename from portality/templates/testdrive/testdrive.html rename to portality/templates-v2/dev/testdrive/testdrive.html diff --git a/portality/templates/email/account_created.jinja2 b/portality/templates-v2/email/account_created.jinja2 similarity index 100% rename from portality/templates/email/account_created.jinja2 rename to portality/templates-v2/email/account_created.jinja2 diff --git a/portality/templates/email/account_password_reset.jinja2 b/portality/templates-v2/email/account_password_reset.jinja2 similarity index 100% rename from portality/templates/email/account_password_reset.jinja2 rename to portality/templates-v2/email/account_password_reset.jinja2 diff --git a/portality/templates/email/editor_application_completed.jinja2 b/portality/templates-v2/email/editor_application_completed.jinja2 similarity index 100% rename from portality/templates/email/editor_application_completed.jinja2 rename to portality/templates-v2/email/editor_application_completed.jinja2 diff --git a/portality/templates/email/notification_email.jinja2 b/portality/templates-v2/email/notification_email.jinja2 similarity index 100% rename from portality/templates/email/notification_email.jinja2 rename to portality/templates-v2/email/notification_email.jinja2 diff --git a/portality/templates/email/script_tag_detected.jinja2 b/portality/templates-v2/email/script_tag_detected.jinja2 similarity index 100% rename from portality/templates/email/script_tag_detected.jinja2 rename to portality/templates-v2/email/script_tag_detected.jinja2 diff --git a/portality/templates/email/workflow_reminder_fragments/admin_age_frag b/portality/templates-v2/email/workflow_reminder_fragments/admin_age_frag.jinja2 similarity index 100% rename from portality/templates/email/workflow_reminder_fragments/admin_age_frag rename to portality/templates-v2/email/workflow_reminder_fragments/admin_age_frag.jinja2 diff --git a/portality/templates/email/workflow_reminder_fragments/admin_ready_frag b/portality/templates-v2/email/workflow_reminder_fragments/admin_ready_frag.jinja2 similarity index 100% rename from portality/templates/email/workflow_reminder_fragments/admin_ready_frag rename to portality/templates-v2/email/workflow_reminder_fragments/admin_ready_frag.jinja2 diff --git a/portality/templates/email/workflow_reminder_fragments/assoc_ed_age_frag b/portality/templates-v2/email/workflow_reminder_fragments/assoc_ed_age_frag.jinja2 similarity index 100% rename from portality/templates/email/workflow_reminder_fragments/assoc_ed_age_frag rename to portality/templates-v2/email/workflow_reminder_fragments/assoc_ed_age_frag.jinja2 diff --git a/portality/templates/email/workflow_reminder_fragments/editor_age_frag b/portality/templates-v2/email/workflow_reminder_fragments/editor_age_frag.jinja2 similarity index 100% rename from portality/templates/email/workflow_reminder_fragments/editor_age_frag rename to portality/templates-v2/email/workflow_reminder_fragments/editor_age_frag.jinja2 diff --git a/portality/templates/email/workflow_reminder_fragments/editor_groupcount_frag b/portality/templates-v2/email/workflow_reminder_fragments/editor_groupcount_frag.jinja2 similarity index 100% rename from portality/templates/email/workflow_reminder_fragments/editor_groupcount_frag rename to portality/templates-v2/email/workflow_reminder_fragments/editor_groupcount_frag.jinja2 diff --git a/portality/templates-v2/includes/_back-to-top.html b/portality/templates-v2/includes/_back-to-top.html new file mode 100644 index 0000000000..62fd115147 --- /dev/null +++ b/portality/templates-v2/includes/_back-to-top.html @@ -0,0 +1,4 @@ + + + Back to top + diff --git a/portality/templates/doaj/cookie_consent.html b/portality/templates-v2/includes/_cookie_consent.html similarity index 100% rename from portality/templates/doaj/cookie_consent.html rename to portality/templates-v2/includes/_cookie_consent.html diff --git a/portality/templates/_edges_common_js.html b/portality/templates-v2/includes/_edges_common_js.html similarity index 100% rename from portality/templates/_edges_common_js.html rename to portality/templates-v2/includes/_edges_common_js.html diff --git a/portality/templates-v2/includes/_error_header.html b/portality/templates-v2/includes/_error_header.html new file mode 100644 index 0000000000..fc2c21c4ea --- /dev/null +++ b/portality/templates-v2/includes/_error_header.html @@ -0,0 +1,3 @@ +{% if there_were_errors %} +

    There is a problem with the submitted form.

    +{% endif %} \ No newline at end of file diff --git a/portality/templates/includes/_flash_notification.html b/portality/templates-v2/includes/_flash_notification.html similarity index 100% rename from portality/templates/includes/_flash_notification.html rename to portality/templates-v2/includes/_flash_notification.html diff --git a/portality/templates/_formhelpers.html b/portality/templates-v2/includes/_formhelpers.html similarity index 100% rename from portality/templates/_formhelpers.html rename to portality/templates-v2/includes/_formhelpers.html diff --git a/portality/templates/includes/_hotjar.html b/portality/templates-v2/includes/_hotjar.html similarity index 100% rename from portality/templates/includes/_hotjar.html rename to portality/templates-v2/includes/_hotjar.html diff --git a/portality/templates/_js_includes.html b/portality/templates-v2/includes/_js_includes.html similarity index 100% rename from portality/templates/_js_includes.html rename to portality/templates-v2/includes/_js_includes.html diff --git a/portality/templates-v2/includes/_site_note.html b/portality/templates-v2/includes/_site_note.html new file mode 100644 index 0000000000..76daabd42b --- /dev/null +++ b/portality/templates-v2/includes/_site_note.html @@ -0,0 +1,4 @@ +
    + Enter the site note here
    + Dismiss +
    diff --git a/portality/templates/includes/svg/20yrs-stacked.svg b/portality/templates-v2/includes/svg/20yrs-stacked.svg similarity index 100% rename from portality/templates/includes/svg/20yrs-stacked.svg rename to portality/templates-v2/includes/svg/20yrs-stacked.svg diff --git a/portality/templates/includes/svg/20yrs.svg b/portality/templates-v2/includes/svg/20yrs.svg similarity index 100% rename from portality/templates/includes/svg/20yrs.svg rename to portality/templates-v2/includes/svg/20yrs.svg diff --git a/portality/templates/includes/svg/at-20/theme_global.svg b/portality/templates-v2/includes/svg/at-20/theme_global.svg similarity index 100% rename from portality/templates/includes/svg/at-20/theme_global.svg rename to portality/templates-v2/includes/svg/at-20/theme_global.svg diff --git a/portality/templates/includes/svg/at-20/theme_open.svg b/portality/templates-v2/includes/svg/at-20/theme_open.svg similarity index 100% rename from portality/templates/includes/svg/at-20/theme_open.svg rename to portality/templates-v2/includes/svg/at-20/theme_open.svg diff --git a/portality/templates/includes/svg/at-20/theme_trusted.svg b/portality/templates-v2/includes/svg/at-20/theme_trusted.svg similarity index 100% rename from portality/templates/includes/svg/at-20/theme_trusted.svg rename to portality/templates-v2/includes/svg/at-20/theme_trusted.svg diff --git a/portality/templates/includes/svg/by.svg b/portality/templates-v2/includes/svg/by.svg similarity index 100% rename from portality/templates/includes/svg/by.svg rename to portality/templates-v2/includes/svg/by.svg diff --git a/portality/templates/includes/svg/cc.svg b/portality/templates-v2/includes/svg/cc.svg similarity index 100% rename from portality/templates/includes/svg/cc.svg rename to portality/templates-v2/includes/svg/cc.svg diff --git a/portality/templates/includes/svg/copyright.svg b/portality/templates-v2/includes/svg/copyright.svg similarity index 100% rename from portality/templates/includes/svg/copyright.svg rename to portality/templates-v2/includes/svg/copyright.svg diff --git a/portality/templates/includes/svg/doaj-icon.svg b/portality/templates-v2/includes/svg/doaj-icon.svg similarity index 100% rename from portality/templates/includes/svg/doaj-icon.svg rename to portality/templates-v2/includes/svg/doaj-icon.svg diff --git a/portality/templates/includes/svg/logo.svg b/portality/templates-v2/includes/svg/logo.svg similarity index 100% rename from portality/templates/includes/svg/logo.svg rename to portality/templates-v2/includes/svg/logo.svg diff --git a/portality/templates/includes/svg/nc.svg b/portality/templates-v2/includes/svg/nc.svg similarity index 100% rename from portality/templates/includes/svg/nc.svg rename to portality/templates-v2/includes/svg/nc.svg diff --git a/portality/templates/includes/svg/nd.svg b/portality/templates-v2/includes/svg/nd.svg similarity index 100% rename from portality/templates/includes/svg/nd.svg rename to portality/templates-v2/includes/svg/nd.svg diff --git a/portality/templates/includes/svg/sa.svg b/portality/templates-v2/includes/svg/sa.svg similarity index 100% rename from portality/templates/includes/svg/sa.svg rename to portality/templates-v2/includes/svg/sa.svg diff --git a/portality/templates/includes/svg/seal.svg b/portality/templates-v2/includes/svg/seal.svg similarity index 100% rename from portality/templates/includes/svg/seal.svg rename to portality/templates-v2/includes/svg/seal.svg diff --git a/portality/templates/includes/svg/wechat.svg b/portality/templates-v2/includes/svg/wechat.svg similarity index 100% rename from portality/templates/includes/svg/wechat.svg rename to portality/templates-v2/includes/svg/wechat.svg diff --git a/portality/templates/includes/svg/zero.svg b/portality/templates-v2/includes/svg/zero.svg similarity index 100% rename from portality/templates/includes/svg/zero.svg rename to portality/templates-v2/includes/svg/zero.svg diff --git a/portality/templates-v2/management/_application-form/includes/_application_diff.html b/portality/templates-v2/management/_application-form/includes/_application_diff.html new file mode 100644 index 0000000000..4e9f514750 --- /dev/null +++ b/portality/templates-v2/management/_application-form/includes/_application_diff.html @@ -0,0 +1,40 @@ +{% from "_application-form/includes/_value.html" import value %} + +{% if current_journal %} +

    + + The following fields have changed: +

    + + + + + + + + + + + {% for f in formulaic_context.list_fields_in_order() %} + {% if f.name in form_diff %} + {% set previous = form_diff[f.name]['a'] %} + {% set new = form_diff[f.name]['b'] %} + + + + + + {% endif %} + {% endfor %} + +
    PreviousNew
    + {% if f.diff_table_context %} +

    {{ f.diff_table_context }} information

    + {% endif %} + {{ f.label }} +
    + {{ value(previous, f.name, formulaic_context) }} + + {{ value(new, f.name, formulaic_context) }} +
    +{% endif %} diff --git a/portality/templates/application_form/_autochecks.html b/portality/templates-v2/management/_application-form/includes/_autochecks.html similarity index 100% rename from portality/templates/application_form/_autochecks.html rename to portality/templates-v2/management/_application-form/includes/_autochecks.html diff --git a/portality/templates/application_form/_contact.html b/portality/templates-v2/management/_application-form/includes/_contact.html similarity index 100% rename from portality/templates/application_form/_contact.html rename to portality/templates-v2/management/_application-form/includes/_contact.html diff --git a/portality/templates/application_form/_edit_status.html b/portality/templates-v2/management/_application-form/includes/_edit_status.html similarity index 100% rename from portality/templates/application_form/_edit_status.html rename to portality/templates-v2/management/_application-form/includes/_edit_status.html diff --git a/portality/templates/application_form/editorial_form_body.html b/portality/templates-v2/management/_application-form/includes/_editorial_form_body.html similarity index 54% rename from portality/templates/application_form/editorial_form_body.html rename to portality/templates-v2/management/_application-form/includes/_editorial_form_body.html index 9750c1ceff..5e4d1d07b2 100644 --- a/portality/templates/application_form/editorial_form_body.html +++ b/portality/templates-v2/management/_application-form/includes/_editorial_form_body.html @@ -1,8 +1,8 @@ -{% include "application_form/_edit_status.html" %} -{% include "application_form/_backend_validation.html" %} -{% include "application_form/_autochecks.html" %} +{% include "management/_application-form/includes/_edit_status.html" %} +{% include "_application-form/includes/_backend_validation.html" %} +{% include "management/_application-form/includes/_autochecks.html" %} +{% import "_application-form/includes/_application_warning_msg.html" as _msg %} -{% import "application_form/_application_warning_msg.html" as _msg %} {% if obj and (obj.es_type == 'journal' and obj.is_in_doaj()) %} {{ _msg.build_journal_withdrawn_deleted_msg(obj) }} See this journal in DOAJ @@ -21,15 +21,13 @@
    {% if diff_table %} - {% include 'application_form/_application_diff.html' %} + {% include 'management/_application-form/includes/_application_diff.html' %} {% endif %} - {% include 'application_form/editorial_form_fields.html' %} - {% include "application_form/_fieldsets.html" %} + {% include 'management/_application-form/includes/_editorial_form_fields.html' %} + {% include "_application-form/includes/_public_fieldsets.html" %}
    - {% include "application_form/editorial_side_panel.html" %} + {% include "management/_application-form/includes/_editorial_side_panel.html" %}
    - -{% include "includes/_hotjar.html" %} diff --git a/portality/templates/application_form/editorial_form_fields.html b/portality/templates-v2/management/_application-form/includes/_editorial_form_fields.html similarity index 100% rename from portality/templates/application_form/editorial_form_fields.html rename to portality/templates-v2/management/_application-form/includes/_editorial_form_fields.html diff --git a/portality/templates/application_form/editorial_side_panel.html b/portality/templates-v2/management/_application-form/includes/_editorial_side_panel.html similarity index 95% rename from portality/templates/application_form/editorial_side_panel.html rename to portality/templates-v2/management/_application-form/includes/_editorial_side_panel.html index 9ddf55698f..f7047bd426 100644 --- a/portality/templates/application_form/editorial_side_panel.html +++ b/portality/templates-v2/management/_application-form/includes/_editorial_side_panel.html @@ -1,5 +1,5 @@
    - {% include "application_form/_contact.html" %} + {% include "management/_application-form/includes/_contact.html" %} {% if obj %}

    Locked for editing until {{ lock.expire_formatted() }} @@ -56,7 +56,5 @@

    Locked for editing until - - {#
    #}

    diff --git a/portality/templates-v2/management/admin/_application-form/layouts/maned_journal_bulk_edit.html b/portality/templates-v2/management/admin/_application-form/layouts/maned_journal_bulk_edit.html new file mode 100644 index 0000000000..e1ece1d205 --- /dev/null +++ b/portality/templates-v2/management/admin/_application-form/layouts/maned_journal_bulk_edit.html @@ -0,0 +1,15 @@ +{% if formulaic_context.errors %} +

    There is a problem with the form.

    +{% endif %} + +
    +
    + + {% set fs = formulaic_context.fieldset("bulk_edit") %} + {% for f in fs.fields() %} + {% set field_template = f.template %} + {% include field_template %} + {% endfor %} + +
    +
    \ No newline at end of file diff --git a/portality/templates-v2/management/admin/account/create.html b/portality/templates-v2/management/admin/account/create.html new file mode 100644 index 0000000000..105deb99c6 --- /dev/null +++ b/portality/templates-v2/management/admin/account/create.html @@ -0,0 +1,41 @@ +{% extends "management/admin/base.html" %} + +{% block page_title %}Create User{% endblock %} + +{% block admin_stylesheets %} + +{% endblock %} + +{% block admin_content %} +
    +
    +
    +
    + {% include "_account/includes/_register_form.html" %} +
    +
    +
    +
    +{% endblock %} + +{% block admin_js %} + {% if current_user.is_authenticated and current_user.has_role("create_user") %} + + + {% endif %} + + {% if config.get("RECAPTCHA_ENABLE") %} + + + + {% endif %} +{% endblock %} diff --git a/portality/templates-v2/management/admin/account/edit.html b/portality/templates-v2/management/admin/account/edit.html new file mode 100644 index 0000000000..b51b97c9fa --- /dev/null +++ b/portality/templates-v2/management/admin/account/edit.html @@ -0,0 +1,49 @@ +{% extends "management/admin/base.html" %} +{# ~~Account:Page~~ #} + +{% block page_title %}{{ account.name if account.name else account.email }}’s profile{% endblock %} + +{% block admin_content %} +
    +
    + + + + {% if current_user.id != account.id %} +

    + + You are editing a user account that is not your own. Be careful! +

    + {% endif %} + + {% include '_account/includes/_edit_user_form.html' %} + + {% if current_user.is_super %} +
    +

    Delete this account

    +

    This irrevocably deletes the account.

    +
    + + + +
    + {% endif %} + +
    + +
    + {% include "_account/includes/_marketing-consent.html" %} + {% include "_account/includes/_api-access.html" %} +
    +
    + +{% endblock %} + +{% block admin_js %} + {% include "_account/includes/_edit_form_js.html" %} +{% endblock %} diff --git a/portality/templates-v2/management/admin/account/users.html b/portality/templates-v2/management/admin/account/users.html new file mode 100644 index 0000000000..f50d5c2a54 --- /dev/null +++ b/portality/templates-v2/management/admin/account/users.html @@ -0,0 +1,34 @@ +{% extends "management/admin/base.html" %} + +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} + +{% block page_title %}List of users{% endblock %} + +{% block admin_content %} +

    List of users

    + + {% if current_user.has_role("create_user") %}

    Create new user

    {% endif %} + +
    + +{% endblock %} + +{% block admin_js %} + + + + {% include "includes/_edges_common_js.html" %} + + +{% endblock %} diff --git a/portality/templates-v2/management/admin/admin_site_search.html b/portality/templates-v2/management/admin/admin_site_search.html new file mode 100644 index 0000000000..57f84dfa23 --- /dev/null +++ b/portality/templates-v2/management/admin/admin_site_search.html @@ -0,0 +1,75 @@ +{% extends "management/admin/base.html" %} + +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} + +{% block page_title %}Search journals & articles{% endblock %} + +{% block admin_content %} +

    Search journals & articles

    + + + +
    +

    Bulk edit records

    +
    +
    +
    + + +
    +
    + + + +
    + + + +
    +
    +
    + +
    + +{% endblock %} + +{% block admin_js %} + + + + {% include "includes/_edges_common_js.html" %} + + + +{% endblock %} diff --git a/portality/templates-v2/management/admin/application_locked.html b/portality/templates-v2/management/admin/application_locked.html new file mode 100644 index 0000000000..d90b3c0698 --- /dev/null +++ b/portality/templates-v2/management/admin/application_locked.html @@ -0,0 +1,25 @@ +{% extends "management/admin/base.html" %} + +{% block page_title %}(Locked) {{ application.bibjson().title }}{% endblock %} + +{% block admin_content %} +
    +
    +

    + Application for Journal —
    + {{application.bibjson().title}} +

    + {% if application.last_updated %} +

    Last updated: {{application.last_updated}}

    + {% endif %} +
    + +
    +

    You cannot currently edit this application

    + +

    The user {{lock.username}} is currently editing this record, and has an edit-lock until {{lock.expire_formatted()}}

    + +

    Please try again later!

    +
    +
    +{% endblock %} diff --git a/portality/templates/admin/applications.html b/portality/templates-v2/management/admin/applications.html similarity index 50% rename from portality/templates/admin/applications.html rename to portality/templates-v2/management/admin/applications.html index e6b6c2b4d4..77cad565f8 100644 --- a/portality/templates/admin/applications.html +++ b/portality/templates-v2/management/admin/applications.html @@ -1,28 +1,33 @@ -{% extends "admin/admin_base.html" %} +{% extends "management/admin/base.html" %} + +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} -{% include "_edges_common_css.html" %} {% block page_title %}Applications{% endblock %} {% block admin_content %}

    Applications

    - {% include "admin/_applications_and_update_requests_common.html" %} + {% include "management/admin/includes/_applications_and_update_requests_common.html" %} {% endblock %} -{% block extra_js_bottom %} +{% block admin_js %} - {% include "admin/_applications_and_update_requests_common_js.html" %} + {% include "management/admin/includes/_applications_and_update_requests_common_js.html" %} {% endblock %} diff --git a/portality/templates-v2/management/admin/article_metadata.html b/portality/templates-v2/management/admin/article_metadata.html new file mode 100644 index 0000000000..64384654e4 --- /dev/null +++ b/portality/templates-v2/management/admin/article_metadata.html @@ -0,0 +1,53 @@ +{# ~~AdminArticleMetadata:Page~~ #} +{% extends "management/admin/base.html" %} + +{% block page_title %}{{ form_context.source.bibjson().title }} – Article metadata{% endblock %} + +{% block admin_content %} + {% set object_type = 'article' %} + {% set heading_object_type = 'Article' %} + {% set form_context = form_context %} + +
    +
    + {% if form_context.source.last_updated %} +

    Last updated: {{form_context.source.last_updated}}

    + {% endif %} +

    + {{ heading_object_type }} —
    + {{form_context.source.bibjson().title}} +

    + + See this article in DOAJ + {% if form_context.source.current_journal %} +

    + View associated journal +

    + {% endif %} +
    + +
    + {% include "includes/_error_header.html" %} + + {% from "includes/_formhelpers.html" import render_field_horizontal %} + {% from "includes/_formhelpers.html" import render_field %} + +
    + {% include "_articles/includes/_article_metadata_form.html" %} + +
    +
    +
    + +{% endblock %} + +{% block admin_js %} + + + +{% endblock %} diff --git a/portality/templates-v2/management/admin/background_jobs_search.html b/portality/templates-v2/management/admin/background_jobs_search.html new file mode 100644 index 0000000000..c6ad2dd155 --- /dev/null +++ b/portality/templates-v2/management/admin/background_jobs_search.html @@ -0,0 +1,28 @@ +{% extends "management/admin/base.html" %} + +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} + +{% block page_title %}Background jobs{% endblock %} + +{% block admin_content %} +

    Background jobs

    + +
    +{% endblock %} + +{% block admin_js %} + + + {% include "includes/_edges_common_js.html" %} + +{% endblock %} diff --git a/portality/templates-v2/management/admin/base.html b/portality/templates-v2/management/admin/base.html new file mode 100644 index 0000000000..0c07fc1cba --- /dev/null +++ b/portality/templates-v2/management/admin/base.html @@ -0,0 +1,18 @@ +{% extends "management/base.html" %} + +{% block management_stylesheets %} + {% block admin_stylesheets %}{% endblock %} +{% endblock %} + +{% block nav %} + {% include "management/admin/includes/_nav.html" %} +{% endblock %} + +{% block management_content %} + {% block admin_content %}{% endblock %} +{% endblock %} + +{% block management_js %} + {% include "includes/_hotjar.html" %} + {% block admin_js %}{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/portality/templates-v2/management/admin/continuation.html b/portality/templates-v2/management/admin/continuation.html new file mode 100644 index 0000000000..f2f60c3aee --- /dev/null +++ b/portality/templates-v2/management/admin/continuation.html @@ -0,0 +1,51 @@ +{% extends "management/admin/base.html" %} + +{% block page_title %} + {% if form.type.data == "replaces" %} + {{ current.bibjson().title }} continues… + {% else %} + {{ current.bibjson().title }} is continued by… + {% endif %} +{% endblock %} + +{% block admin_content %} +
    +
    + {% if form.type.data == "replaces" %} +

    {{ current.bibjson().title }} continues…

    +

    + Please provide the Journal Title and ISSN(s) for the journal that is continued by {{ current.bibjson().title }}. +

    +

    + This will create a record in DOAJ so do not use this option if the journal + already exists. Once you submit this form, a new journal record will be created and + you may edit the other associated metadata fields. +

    + {% endif %} + + {% if form.type.data == "is_replaced_by" %} +

    {{ current.bibjson().title }} is continued by…

    +

    + Please provide the new Journal Title and new ISSN(s) that + continue {{ current.bibjson().title }}. Once you submit this form, a new journal record will + be created and you may edit the other associated metadata fields. +

    + {% endif %} +
    + +
    + {% from "includes/_formhelpers.html" import render_field_horizontal %} + {% from "includes/_formhelpers.html" import render_field %} + +
    +
    + {{ render_field_horizontal(form.title, style="width: 400px", placeholder="Enter the journal title here") }} + {{ render_field_horizontal(form.pissn, style="width: 400px", placeholder="Enter the journal print ISSN") }} + {{ render_field_horizontal(form.eissn, style="width: 400px", placeholder="Enter the journal electronic ISSN") }} + + +
    +
    +
    +
    +{% endblock %} diff --git a/portality/templates-v2/management/admin/dashboard.html b/portality/templates-v2/management/admin/dashboard.html new file mode 100644 index 0000000000..440d2bda05 --- /dev/null +++ b/portality/templates-v2/management/admin/dashboard.html @@ -0,0 +1,79 @@ +{% extends "management/admin/base.html" %} +{# ~~Dashboard:Page~~ #} + +{% block page_title %}Managing Editor Dashboard{% endblock %} + +{% block page_header %} + Hi, {% if current_user.name %}{{ current_user.name }}{% else %} + {{ current_user.id }}{% endif %}! +{% endblock %} + +{% block admin_content %} +
    + {% if request.values.get("filter") == None %} + Show all + {% else %} + Show all + {% endif %} + + {% if request.values.get("filter") == "na" %} + New Applications + {% else %} + New Applications + {% endif %} + + {% if request.values.get("filter") == "ur" %} + Update Requests + {% else %} + Update Requests + {% endif %} +
    + {% include "management/includes/_todo.html" %} +
    + {# ~~->$GroupStatus:Feature~~ #} +

    Activity

    +
    + + + {# TODO: there’s a bit of a11y work to be done here; we need to indicate which tabs are hidden and which + aren’t using ARIA attributes. #} + {# TODO: the first tab content needs to be shown by default, without a "click to see" message. #} +
    +
    +
    +
    +
    +{% endblock %} + +{% block admin_js %} + + +{% endblock %} diff --git a/portality/templates-v2/management/admin/editor_group.html b/portality/templates-v2/management/admin/editor_group.html new file mode 100644 index 0000000000..db1b3c6b1b --- /dev/null +++ b/portality/templates-v2/management/admin/editor_group.html @@ -0,0 +1,85 @@ +{% extends "management/admin/base.html" %} + +{% block page_title %}Editor group{% endblock %} + +{% block admin_content %} +
    +
    + {% include "includes/_error_header.html" %} + {% from "includes/_formhelpers.html" import render_field_horizontal %} + +
    +
    + {{ form.group_id }} + {% if form.name.data %} + {# Do not allow the user to edit the name. issue #3859 #} + + {% endif %} + {{ render_field_horizontal(form.name, placeholder="Enter a unique group name") }} + {{ render_field_horizontal(form.maned, placeholder="Managing Editor’s user ID") }} + {{ render_field_horizontal(form.editor, placeholder="Editor’s user ID") }} + {{ render_field_horizontal(form.associates, placeholder="Associate editor user IDs") }} + +
    +
    +
    +
    +{% endblock %} + +{% block admin_js %} + + +{% endblock %} diff --git a/portality/templates-v2/management/admin/editor_group_search.html b/portality/templates-v2/management/admin/editor_group_search.html new file mode 100644 index 0000000000..d31fc54300 --- /dev/null +++ b/portality/templates-v2/management/admin/editor_group_search.html @@ -0,0 +1,33 @@ +{% extends "management/admin/base.html" %} + +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} + +{% block page_title %}Editor groups{% endblock %} + +{% block admin_content %} +

    Editor groups

    + +

    Create new editor group

    + +
    +{% endblock %} + +{% block admin_js %} + + + + {% include "includes/_edges_common_js.html" %} + + +{% endblock %} diff --git a/portality/templates/admin/global_notifications_search.html b/portality/templates-v2/management/admin/global_notifications_search.html similarity index 68% rename from portality/templates/admin/global_notifications_search.html rename to portality/templates-v2/management/admin/global_notifications_search.html index a7b018236c..f748bc745c 100644 --- a/portality/templates/admin/global_notifications_search.html +++ b/portality/templates-v2/management/admin/global_notifications_search.html @@ -1,8 +1,12 @@ -{% extends "admin/admin_base.html" %} +{% extends "management/admin/base.html" %} {# ~~ AdminNotificationsSearch:Page~~ #} {# ~~-> Edges:Technology ~~ #} -{% include "_edges_common_css.html" %} +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} {% block page_title %}Notifications{% endblock %} @@ -11,7 +15,7 @@

    Notifications

    {% endblock %} -{% block extra_js_bottom %} +{% block admin_js %} {# ~~-> Edges:Technology ~~ #} - {% include "_edges_common_js.html" %} + {% include "includes/_edges_common_js.html" %} diff --git a/portality/templates/admin/_applications_and_update_requests_common.html b/portality/templates-v2/management/admin/includes/_applications_and_update_requests_common.html similarity index 100% rename from portality/templates/admin/_applications_and_update_requests_common.html rename to portality/templates-v2/management/admin/includes/_applications_and_update_requests_common.html diff --git a/portality/templates/admin/_applications_and_update_requests_common_js.html b/portality/templates-v2/management/admin/includes/_applications_and_update_requests_common_js.html similarity index 69% rename from portality/templates/admin/_applications_and_update_requests_common_js.html rename to portality/templates-v2/management/admin/includes/_applications_and_update_requests_common_js.html index c4c7ddd923..e4c57fe1a7 100644 --- a/portality/templates/admin/_applications_and_update_requests_common_js.html +++ b/portality/templates-v2/management/admin/includes/_applications_and_update_requests_common_js.html @@ -1,2 +1,2 @@ -{% include "_edges_common_js.html" %} +{% include "includes/_edges_common_js.html" %} diff --git a/portality/templates-v2/management/admin/includes/_nav.html b/portality/templates-v2/management/admin/includes/_nav.html new file mode 100644 index 0000000000..88eb542c8e --- /dev/null +++ b/portality/templates-v2/management/admin/includes/_nav.html @@ -0,0 +1,38 @@ +{# ~~ DashboardNav:Fragment ~~ #} + +{% set index = url_for("dashboard.top_todo") %} +{% set journals = url_for("admin.index") %} +{% set applications = url_for("admin.suggestions") %} +{% set update_requests = url_for("admin.update_requests") %} +{% set site_search = url_for("admin.admin_site_search") %} +{% set users = url_for("account.index") %} +{% set editor_groups = url_for("admin.editor_group_search") %} +{% set bg = url_for("admin.background_jobs_search") %} +{% set notifications = url_for("admin.global_notifications_search") %} {# ~~-> AdminNotificationsSearch:Page ~~ #} + +{% set tabs = [ + (index, "Dashboard", "list"), + (journals, "Journals", "book-open"), + (applications, "Applications", "file-text"), + (update_requests, "Update requests", "edit"), + (site_search, "Journals & articles", "search"), + (users, "Users", "user"), + (editor_groups, "Editor groups", "users"), + (bg, "Background jobs", "tool"), + (notifications, "All Notifications", "bell") + ] +%} + + diff --git a/portality/templates-v2/management/admin/journal_locked.html b/portality/templates-v2/management/admin/journal_locked.html new file mode 100644 index 0000000000..b6ca446cb3 --- /dev/null +++ b/portality/templates-v2/management/admin/journal_locked.html @@ -0,0 +1,25 @@ +{% extends "management/admin/base.html" %} + +{% block page_title %}(Locked) {{ journal.bibjson().title }}{% endblock %} + +{% block admin_content %} +
    +
    +

    + Journal —
    + {{journal.bibjson().title}} +

    + {% if journal.last_updated %} +

    Last updated: {{journal.last_updated}}

    + {% endif %} +
    + +
    +

    You cannot currently edit this journal

    + +

    The user {{lock.username}} is currently editing this record, and has an edit-lock until {{lock.expire_formatted()}}

    + +

    Please try again later!

    +
    +
    +{% endblock %} diff --git a/portality/templates-v2/management/admin/journals_search.html b/portality/templates-v2/management/admin/journals_search.html new file mode 100644 index 0000000000..a2820d4ded --- /dev/null +++ b/portality/templates-v2/management/admin/journals_search.html @@ -0,0 +1,30 @@ +{% extends "management/admin/base.html" %} + +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} + +{% block page_title %}Journals{% endblock %} + +{% block admin_content %} +

    Journals

    + +
    +{% endblock %} + +{% block admin_js %} + + + {% include "includes/_edges_common_js.html" %} + +{% endblock %} diff --git a/portality/templates-v2/management/admin/maned_application.html b/portality/templates-v2/management/admin/maned_application.html new file mode 100644 index 0000000000..0c7bbe8086 --- /dev/null +++ b/portality/templates-v2/management/admin/maned_application.html @@ -0,0 +1,55 @@ +{% extends "management/admin/base.html" %} + +{% set form_id = "maned_form" %} +{% set formulaic_after = url_for("admin.application", application_id=obj.id) %} +{% set form_action = url_for("admin.application", application_id=obj.id) %} + +{% set js_validation = True %} +{% set auto_save = 0 %} +{% set notabs = true %} +{% set diff_table = true %} +{% set quick_reject = true %} + +{% block page_title %}{% if obj.application_type == constants.APPLICATION_TYPE_UPDATE_REQUEST %}Update Request{% else %}Application{% endif %}: {{ obj.bibjson().title }}{% endblock %} +{% block body_id %}apply{% endblock %} + +{% block admin_content scoped %} + {% include "management/_application-form/includes/_editorial_form_body.html" %} + + {% if obj.application_status not in ["accepted", "rejected"] %} + {% set fs = formulaic_context.fieldset("quick_reject") %} + + {% endif %} +{% endblock %} + +{% block admin_js scoped %} + {% if autochecks %} + + + {% endif %} + {% include "_application-form/includes/_form_js.html" %} + {% if autochecks %} + + {% endif %} +{% endblock %} diff --git a/portality/templates-v2/management/admin/maned_journal.html b/portality/templates-v2/management/admin/maned_journal.html new file mode 100644 index 0000000000..aeb4063ae3 --- /dev/null +++ b/portality/templates-v2/management/admin/maned_journal.html @@ -0,0 +1,101 @@ +{% extends "management/admin/base.html" %} + +{% macro show_cont_list(cont_list, cont_name) %} + {% if cont_list %} + {{ cont_name }} + + {% endif %} +{% endmacro %} + +{% set form_id = "maned_form" %} +{% set formulaic_after = url_for("admin.journal_page", journal_id=obj.id) %} +{% set form_action = url_for("admin.journal_page", journal_id=obj.id) %} + +{% set js_validation = True %} +{% set auto_save = 0 %} +{% set notabs = true %} +{% set diff_table = false %} +{% set quick_reject = false %} +{% set withdrawable = true %} + +{% block page_title %}Journal: {{ obj.bibjson().title }}{% endblock %} +{% block body_id %}apply{% endblock %} + +{% block admin_content scoped %} + {% include "management/_application-form/includes/_editorial_form_body.html" %} + + +{% endblock %} + +{% block admin_js scoped %} + {% if autochecks %} + + + {% endif %} + {% set factory = "journal" %} + {% include "_application-form/includes/_form_js.html" %} + {% if autochecks %} + + {% endif %} +{% endblock %} diff --git a/portality/templates-v2/management/admin/notifications.html b/portality/templates-v2/management/admin/notifications.html new file mode 100644 index 0000000000..57be1dc49d --- /dev/null +++ b/portality/templates-v2/management/admin/notifications.html @@ -0,0 +1,28 @@ +{% extends "management/admin/base.html" %} +{# ~~NotificationsSearch:Page -> Notificaitons:Edge~~ #} + +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} + +{% block admin_content %} +
    +{% endblock %} + +{% block admin_js %} + + + + {% include "includes/_edges_common_js.html" %} + + + +{% endblock %} diff --git a/portality/templates/application_form/readonly_journal.html b/portality/templates-v2/management/admin/readonly_journal.html similarity index 55% rename from portality/templates/application_form/readonly_journal.html rename to portality/templates-v2/management/admin/readonly_journal.html index fe429eea08..4620077ee1 100644 --- a/portality/templates/application_form/readonly_journal.html +++ b/portality/templates-v2/management/admin/readonly_journal.html @@ -1,8 +1,8 @@ -{% extends "layouts/public_base.html" %} +{% extends "management/admin/base.html" %} -{% set formulaic_after = url_for("doaj.journal_readonly", journal_id=obj.id) %} +{% set formulaic_after = url_for("admin.journal_readonly", journal_id=obj.id) %} {% set form_id = "ro_form" %} -{% set form_action = url_for("doaj.journal_readonly", journal_id=obj.id) %} +{% set form_action = url_for("admin.journal_readonly", journal_id=obj.id) %} {% set js_validation = False %} {% set auto_save = 0 %} @@ -17,41 +17,34 @@ {% set FORM = [TAB1, TAB2, TAB3, TAB4, TAB5, TAB6, TAB_ED] %} {% block page_title %}(Read-only) {{ obj.bibjson().title }}{% endblock %} +{% block body_id %}apply{% endblock %} -{% block content scoped %} - +{% block admin_content scoped %}
    -
    +
    - - {% include "application_form/_fieldsets.html" %} - -
    - {% include "application_form/07-review/index.html" %} -
    -
    + class="application_form" + novalidate + action="{{ form_action }}" + method="post" + data-formulaic-after="{{ formulaic_after }}"> + + {% include "_application-form/includes/_public_fieldsets.html" %} + +
    + {% include "public/_application-form/includes/_review.html" %} +
    +
    - -
    -
    - {% include "application_form/aside_menu.html" %} -
    -
    - {% endblock %} -{% block extra_js_bottom scoped %} +{% block admin_js scoped %} {% set factory = "journal" %} - {% include "application_form/js/_form_js.html" %} + {% include "_application-form/includes/_form_js.html" %} {% endblock %} diff --git a/portality/templates-v2/management/admin/unlocked.html b/portality/templates-v2/management/admin/unlocked.html new file mode 100644 index 0000000000..0b1f3fe31f --- /dev/null +++ b/portality/templates-v2/management/admin/unlocked.html @@ -0,0 +1,8 @@ +{% extends "management/admin/base.html" %} + +{% block page_title %}Unlocked record{% endblock %} +{% block title %}This record is now unlocked{% endblock %} + +{% block admin_content %} +

    You may close this tab safely.

    +{% endblock %} diff --git a/portality/templates/admin/update_requests.html b/portality/templates-v2/management/admin/update_requests.html similarity index 51% rename from portality/templates/admin/update_requests.html rename to portality/templates-v2/management/admin/update_requests.html index 91bc49e670..36fe314fbc 100644 --- a/portality/templates/admin/update_requests.html +++ b/portality/templates-v2/management/admin/update_requests.html @@ -1,28 +1,32 @@ -{% extends "admin/admin_base.html" %} +{% extends "management/admin/base.html" %} -{% include "_edges_common_css.html" %} +{% block admin_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} {% block page_title %}Update requests{% endblock %} {% block admin_content %}

    Update requests

    - {% include "admin/_applications_and_update_requests_common.html" %} + {% include "management/admin/includes/_applications_and_update_requests_common.html" %} {% endblock %} -{% block extra_js_bottom %} +{% block admin_js %} - {% include "admin/_applications_and_update_requests_common_js.html" %} + {% include "management/admin/includes/_applications_and_update_requests_common_js.html" %} {% endblock %} diff --git a/portality/templates-v2/management/base.html b/portality/templates-v2/management/base.html new file mode 100644 index 0000000000..bde4236224 --- /dev/null +++ b/portality/templates-v2/management/base.html @@ -0,0 +1,190 @@ +{% extends "base.html" %} +{# ~~Dashboard:Template~~ #} + +{# we're potentially going need this in a few places in inherited files, so lets just put it here #} +{# ~~-> EditorGroup:Model ~~ #} +{% set managed_groups, maned_assignments = maned_of() %} +{% set editor_of_groups, editor_of_assignments = editor_of() %} +{% set associate_of_groups, associate_of_assignments = associate_of() %} + +{% block base_meta %} + {% block management_meta %}{% endblock %} +{% endblock %} + +{% block base_stylesheets %} + {% block management_stylesheets %}{% endblock %} +{% endblock %} + +{% block body_class %}dashboard{% endblock %} + +{# ~~Dashboard:Template~~ #} +{% block base_content %} + {# global site note #} + {% if config.get("SITE_NOTE_ACTIVE", False) and not request.cookies.get(config.get("SITE_NOTE_KEY")) %} + {% include templates.SITE_NOTE %} + {% endif %} + +
    +

    DOAJ Dashboard

    + + + {% block nav %}{% endblock %} +
    + + +
    +
    +
    +
    +

    + + + + {{ current_user.id }} + {% if current_user.has_role("admin") %} + (Managing Editor) + {% elif current_user.has_role("editor") %} + (Editor) + {% elif current_user.has_role("associate_editor") %} + (Associate Editor) + {% endif %} + + +

    +

    + {% block page_header %} + {{ self.page_title() }} + {% endblock %} +

    +
    + +
    +
    + {% include "includes/_flash_notification.html" %} + {% block management_content %}{% endblock %} + +

    + + + + Log out + + + + Settings + + +

    +
    + {% include "includes/_back-to-top.html" %} + +{% endblock %} + +{% block base_js %} + + {% include "_tourist/includes/_tourist.html" %} + + {% block management_js %}{% endblock %} +{% endblock %} + + diff --git a/portality/templates-v2/management/editor/account/edit.html b/portality/templates-v2/management/editor/account/edit.html new file mode 100644 index 0000000000..91e5ff85a5 --- /dev/null +++ b/portality/templates-v2/management/editor/account/edit.html @@ -0,0 +1,22 @@ +{% extends "management/editor/base.html" %} + +{% block page_title %}{{ account.name if account.name else account.email }}’s profile{% endblock %} + +{% block editor_content %} + +
    +
    + {% include '_account/includes/_edit_user_form.html' %} +
    + +
    + {% include "_account/includes/_marketing-consent.html" %} + {% include "_account/includes/_api-access.html" %} +
    +
    + +{% endblock %} + +{% block editor_js %} + {% include "_account/includes/_edit_form_js.html" %} +{% endblock %} diff --git a/portality/templates-v2/management/editor/application_locked.html b/portality/templates-v2/management/editor/application_locked.html new file mode 100644 index 0000000000..bace5ee9d8 --- /dev/null +++ b/portality/templates-v2/management/editor/application_locked.html @@ -0,0 +1,25 @@ +{% extends "management/editor/base.html" %} + +{% block page_title %}(Locked) {{ application.bibjson().title }}{% endblock %} + +{% block editor_content %} +
    +
    +

    + Application for Journal —
    + {{application.bibjson().title}} +

    + {% if application.last_updated %} +

    Last updated: {{application.last_updated}}

    + {% endif %} +
    + +
    +

    You cannot currently edit this application

    + +

    The user {{lock.username}} is currently editing this record, and has an edit-lock until {{lock.expire_formatted()}}

    + +

    Please try again later!

    +
    +
    +{% endblock %} diff --git a/portality/templates/application_form/assed_application.html b/portality/templates-v2/management/editor/assed_application.html similarity index 67% rename from portality/templates/application_form/assed_application.html rename to portality/templates-v2/management/editor/assed_application.html index 5b904d6236..cb4e69eb20 100644 --- a/portality/templates/application_form/assed_application.html +++ b/portality/templates-v2/management/editor/assed_application.html @@ -1,4 +1,4 @@ -{% extends "editor/editor_base.html" %} +{% extends "management/editor/base.html" %} {% set form_id = "assed_form" %} {% set formulaic_after = url_for("editor.application", application_id=obj.id) %} @@ -14,14 +14,10 @@ {% block body_id %}apply{% endblock %} {% block editor_content scoped %} -

    {{ obj.bibjson().title }}

    -
    - {% include "application_form/editorial_form_body.html" %} -
    - -{% include "includes/_hotjar.html" %} +

    {{ obj.bibjson().title }}

    + {% include "management/_application-form/includes/_editorial_form_body.html" %} {% endblock %} -{% block extra_js_bottom scoped %} - {% include "application_form/js/_form_js.html" %} +{% block editor_js scoped %} + {% include "_application-form/includes/_form_js.html" %} {% endblock %} diff --git a/portality/templates/application_form/assed_journal.html b/portality/templates-v2/management/editor/assed_journal.html similarity index 59% rename from portality/templates/application_form/assed_journal.html rename to portality/templates-v2/management/editor/assed_journal.html index 11fa25edf2..a6ec92f9bf 100644 --- a/portality/templates/application_form/assed_journal.html +++ b/portality/templates-v2/management/editor/assed_journal.html @@ -1,4 +1,6 @@ -{% extends "editor/editor_base.html" %} +{% extends "management/editor/base.html" %} +{# NOTE: this file is not currently used, as editors are not assigned journals, +but we are leaving it in place in case that changes #} {% set form_id = "assed_form" %} {% set formulaic_after = url_for("editor.journal_page", journal_id=obj.id) %} @@ -15,13 +17,11 @@ {% block body_id %}apply{% endblock %} {% block editor_content scoped %} -

    {{ obj.bibjson().title }}

    -
    - {% include "application_form/editorial_form_body.html" %} -
    +

    {{ obj.bibjson().title }}

    + {% include "management/_application-form/includes/_editorial_form_body.html" %} {% endblock %} -{% block extra_js_bottom scoped %} +{% block editor_js scoped %} {% set factory = "journal" %} - {% include "application_form/js/_form_js.html" %} + {% include "_application-form/includes/_form_js.html" %} {% endblock %} diff --git a/portality/templates-v2/management/editor/base.html b/portality/templates-v2/management/editor/base.html new file mode 100644 index 0000000000..728f489ffe --- /dev/null +++ b/portality/templates-v2/management/editor/base.html @@ -0,0 +1,19 @@ +{% extends "management/base.html" %} + +{% block management_stylesheets %} + + {% block editor_stylesheets %}{% endblock %} +{% endblock %} + +{% block nav %} + {% include 'management/editor/includes/_nav.html' %} +{% endblock %} + +{% block management_content %} + {% block editor_content %}{% endblock %} +{% endblock %} + +{% block management_js %} + {% include "includes/_hotjar.html" %} + {% block editor_js %}{% endblock %} +{% endblock %} diff --git a/portality/templates-v2/management/editor/dashboard.html b/portality/templates-v2/management/editor/dashboard.html new file mode 100644 index 0000000000..6c32571a21 --- /dev/null +++ b/portality/templates-v2/management/editor/dashboard.html @@ -0,0 +1,57 @@ +{% extends "management/editor/base.html" %} + +{% block page_title %}Editor Dashboard{% endblock %} + +{% block page_header %} + Hi, {% if current_user.name %}{{ current_user.name }}{% else %} + {{ current_user.id }}{% endif %}! +{% endblock %} + +{% block editor_content %} +
    + {% include "management/includes/_todo.html" %} +
    + {# ~~->$GroupStatus:Feature~~ #} + {% if editor_of_groups | length != 0 %} +

    Activity

    +
    + + {% endif %} + + {# TODO: there’s a bit of a11y work to be done here; we need to indicate which tabs are hidden and which + aren’t using ARIA attributes. #} + {# TODO: the first tab content needs to be shown by default, without a "click to see" message. #} +
    +
    +
    +
    +
    +
    +{% endblock %} + +{% block editor_js %} + + +{% endblock %} \ No newline at end of file diff --git a/portality/templates/application_form/editor_application.html b/portality/templates-v2/management/editor/editor_application.html similarity index 67% rename from portality/templates/application_form/editor_application.html rename to portality/templates-v2/management/editor/editor_application.html index 6f30c0ffdb..01b1dad841 100644 --- a/portality/templates/application_form/editor_application.html +++ b/portality/templates-v2/management/editor/editor_application.html @@ -1,4 +1,4 @@ -{% extends "editor/editor_base.html" %} +{% extends "management/editor/base.html" %} {% set form_id = "ed_form" %} {% set formulaic_after = url_for("editor.application", application_id=obj.id) %} @@ -14,14 +14,10 @@ {% block body_id %}apply{% endblock %} {% block editor_content scoped %} -

    {{ obj.bibjson().title }}

    -
    - {% include "application_form/editorial_form_body.html" %} -
    - -{% include "includes/_hotjar.html" %} +

    {{ obj.bibjson().title }}

    + {% include "management/_application-form/includes/_editorial_form_body.html" %} {% endblock %} -{% block extra_js_bottom scoped %} - {% include "application_form/js/_form_js.html" %} +{% block editor_js scoped %} + {% include "_application-form/includes/_form_js.html" %} {% endblock %} diff --git a/portality/templates/application_form/editor_journal.html b/portality/templates-v2/management/editor/editor_journal.html similarity index 58% rename from portality/templates/application_form/editor_journal.html rename to portality/templates-v2/management/editor/editor_journal.html index 0c2c04c72d..42c03d72df 100644 --- a/portality/templates/application_form/editor_journal.html +++ b/portality/templates-v2/management/editor/editor_journal.html @@ -1,5 +1,6 @@ -{% extends "editor/editor_base.html" %} - +{% extends "management/editor/base.html" %} +{# NOTE: this file is not currently used, as editors are not assigned journals, +but we are leaving it in place in case that changes #} {% set form_id = "ed_form" %} {% set formulaic_after = url_for("editor.journal_page", journal_id=obj.id) %} {% set form_action = url_for("editor.journal_page", journal_id=obj.id) %} @@ -15,13 +16,11 @@ {% block body_id %}apply{% endblock %} {% block editor_content scoped %} -

    {{ obj.bibjson().title }}

    -
    - {% include "application_form/editorial_form_body.html" %} -
    +

    {{ obj.bibjson().title }}

    + {% include "management/_application-form/includes/_editorial_form_body.html" %} {% endblock %} -{% block extra_js_bottom scoped %} +{% block editor_js scoped %} {% set factory = "journal" %} - {% include "application_form/js/_form_js.html" %} + {% include "_application-form/includes/_form_js.html" %} {% endblock %} diff --git a/portality/templates/editor/group_applications.html b/portality/templates-v2/management/editor/group_applications.html similarity index 52% rename from portality/templates/editor/group_applications.html rename to portality/templates-v2/management/editor/group_applications.html index bb0bd2053e..73023a28d2 100644 --- a/portality/templates/editor/group_applications.html +++ b/portality/templates-v2/management/editor/group_applications.html @@ -1,24 +1,28 @@ -{% extends "editor/editor_base.html" %} +{% extends "management/editor/base.html" %} -{% include "_edges_common_css.html" %} +{% block editor_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} {% block page_title %}Your group’s applications{% endblock %} {% block editor_content %} -
    +
    {% endblock %} -{% block extra_js_bottom %} +{% block editor_js %} - {% include "_edges_common_js.html" %} + {% include "includes/_edges_common_js.html" %} {% endblock %} diff --git a/portality/templates/editor/nav.html b/portality/templates-v2/management/editor/includes/_nav.html similarity index 76% rename from portality/templates/editor/nav.html rename to portality/templates-v2/management/editor/includes/_nav.html index 2ab38010b1..2aa7b1e41b 100644 --- a/portality/templates/editor/nav.html +++ b/portality/templates-v2/management/editor/includes/_nav.html @@ -1,15 +1,6 @@ {% set index = url_for("editor.index") %} {% set group_apps = url_for('editor.group_suggestions') %} -{% set group_journals = url_for('editor.group_journals') %} {% set ass_apps = url_for('editor.associate_suggestions') %} -{% set ass_journals = url_for('editor.associate_journals') %} - - -{# -Tabs removed for https://github.com/DOAJ/doajPM/issues/3422 -(ass_journals, "Journals assigned to you", None, "book-open") -(group_journals, "Your group’s journals", "list_group_journals", "book") -#} {% set tabs = [ (index, "Dashboard", None, "list"), diff --git a/portality/templates-v2/management/editor/journal_locked.html b/portality/templates-v2/management/editor/journal_locked.html new file mode 100644 index 0000000000..f362fa636f --- /dev/null +++ b/portality/templates-v2/management/editor/journal_locked.html @@ -0,0 +1,27 @@ +{% extends "management/editor/base.html" %} + +{# NOTE: this file is not currently in use, and the code that calls it is commented out #} + +{% block page_title %}(Locked) {{ journal.bibjson().title }}{% endblock %} + +{% block editor_content %} +
    +
    +

    + Journal —
    + {{journal.bibjson().title}} +

    + {% if journal.last_updated %} +

    Last updated: {{journal.last_updated}}

    + {% endif %} +
    + +
    +

    You cannot currently edit this journal

    + +

    The user {{lock.username}} is currently editing this record, and has an edit-lock until {{lock.expire_formatted()}}

    + +

    Please try again later!

    +
    +
    +{% endblock %} diff --git a/portality/templates-v2/management/editor/readonly_journal.html b/portality/templates-v2/management/editor/readonly_journal.html new file mode 100644 index 0000000000..ffa0dd9098 --- /dev/null +++ b/portality/templates-v2/management/editor/readonly_journal.html @@ -0,0 +1,50 @@ +{% extends "management/editor/base.html" %} + +{% set formulaic_after = url_for("editor.journal_readonly", journal_id=obj.id) %} +{% set form_id = "ro_form" %} +{% set form_action = url_for("editor.journal_readonly", journal_id=obj.id) %} + +{% set js_validation = False %} +{% set auto_save = 0 %} + +{% set TAB1 = {"title": "Open access compliance", "fieldsets": ["basic_compliance"]} %} +{% set TAB2 = {"title": "About the Journal", "fieldsets": ["about_the_journal", "publisher", "society_or_institution"]} %} +{% set TAB3 = {"title": "Copyright & licensing", "fieldsets": ["licensing", "embedded_licensing", "copyright"]} %} +{% set TAB4 = {"title": "Editorial", "fieldsets": ["peer_review", "plagiarism", "editorial"]} %} +{% set TAB5 = {"title": "Business model", "fieldsets": ["apc", "apc_waivers", "other_fees"]} %} +{% set TAB6 = {"title": "Best practice", "fieldsets": ["archiving_policy", "deposit_policy", "unique_identifiers"]} %} +{% set TAB_ED = {"title": "Admin", "fieldsets": ["subject", "notes"]} %} +{% set FORM = [TAB1, TAB2, TAB3, TAB4, TAB5, TAB6, TAB_ED] %} + +{% block page_title %}(Read-only) {{ obj.bibjson().title }}{% endblock %} +{% block body_id %}apply{% endblock %} + +{% block editor_content scoped %} +
    +
    +
    +
    +
    + + {% include "_application-form/includes/_public_fieldsets.html" %} + +
    + {% include "public/_application-form/includes/_review.html" %} +
    +
    +
    +
    +
    +
    +{% endblock %} + +{% block editor_js scoped %} + {% set factory = "journal" %} + {% include "_application-form/includes/_form_js.html" %} +{% endblock %} diff --git a/portality/templates-v2/management/editor/unlocked.html b/portality/templates-v2/management/editor/unlocked.html new file mode 100644 index 0000000000..ac1c9902c3 --- /dev/null +++ b/portality/templates-v2/management/editor/unlocked.html @@ -0,0 +1,8 @@ +{% extends "management/editor/base.html" %} + +{% block page_title %}Unlocked record{% endblock %} +{% block title %}This record is now unlocked{% endblock %} + +{% block editor_content %} +

    You may close this tab safely.

    +{% endblock %} diff --git a/portality/templates/editor/associate_applications.html b/portality/templates-v2/management/editor/your_applications.html similarity index 51% rename from portality/templates/editor/associate_applications.html rename to portality/templates-v2/management/editor/your_applications.html index 4b12ca16a1..fc3ea6bfaf 100644 --- a/portality/templates/editor/associate_applications.html +++ b/portality/templates-v2/management/editor/your_applications.html @@ -1,24 +1,28 @@ -{% extends "editor/editor_base.html" %} +{% extends "management/editor/base.html" %} -{% include "_edges_common_css.html" %} +{% block editor_stylesheets %} + {% include "management/includes/_edges_common_css.html" %} + {# FIXME: for some reason this is not in edges common, why is that? #} + +{% endblock %} {% block page_title %}Applications assigned to you{% endblock %} {% block editor_content %} -
    +
    {% endblock %} -{% block extra_js_bottom %} +{% block editor_js %} - {% include "_edges_common_js.html" %} + {% include "includes/_edges_common_js.html" %} {% endblock %} diff --git a/portality/templates/_edges_common_css.html b/portality/templates-v2/management/includes/_edges_common_css.html similarity index 100% rename from portality/templates/_edges_common_css.html rename to portality/templates-v2/management/includes/_edges_common_css.html diff --git a/portality/templates/dashboard/_todo.html b/portality/templates-v2/management/includes/_todo.html similarity index 65% rename from portality/templates/dashboard/_todo.html rename to portality/templates-v2/management/includes/_todo.html index 069ba89633..14d29431b2 100644 --- a/portality/templates/dashboard/_todo.html +++ b/portality/templates-v2/management/includes/_todo.html @@ -97,25 +97,25 @@ "link" : url_for('editor.associate_suggestions') } } -%} + %}
    {% if todos|length == 0 %}
    -

    - +

    + {% if current_user.has_role("admin") %} - {% set source = search_query_source( + {% set source = search_query_source( term=[ {"admin.editor.exact" : current_user.id}, {"index.application_type.exact" : "new application"} ], sort=[{"admin.date_applied": {"order": "asc"}}] ) - %} - All priority tasks have been done. Check your queue for more open applications + %} + All priority tasks have been done. Check your queue for more open applications {% elif current_user.has_role("editor") %} {% set source = search_query_source( term=[ @@ -123,7 +123,7 @@ ], sort=[{"admin.date_applied": {"order": "asc"}}] ) - %} + %} All priority tasks have been done. Check your queue for more open applications. If you need more applications to be assigned to your group, contact your Managing Editor. {% elif current_user.has_role("associate_editor") %} {% set source = search_query_source( @@ -132,71 +132,62 @@ ], sort=[{"admin.date_applied": {"order": "asc"}}] ) - %} + %} All priority tasks have been done. Check your queue for more open applications. If you need more to be assigned to you, contact your Editor or Managing Editor. {% endif %} -

    +

    {% endif %}
      - {% for todo in todos %} - {# TODO only show tasks for this user’s groups #} - {# TODO integrated priority in list display - {{ todo.boost }} - #} - {% set action = TODOS[todo.action_id[0]] %} - {% set app_route = "admin.application" if current_user.has_role("admin") else "editor.application" %} - {% set app_url = url_for(app_route, application_id=todo.object_id) %} - {% set app_date = todo.object.date_applied_timestamp %} -
    1. -
      - + +
      +
    2. + {% endfor %}
    - {# TODO to be displayed once we implement page listing out all tasks - - #} -
    \ No newline at end of file + \ No newline at end of file diff --git a/portality/templates-v2/public/400.html b/portality/templates-v2/public/400.html new file mode 100644 index 0000000000..10857594b5 --- /dev/null +++ b/portality/templates-v2/public/400.html @@ -0,0 +1,17 @@ +{% extends "public/layouts/single_col_page.html" %} + +{% block body_class %}error-page{% endblock %} +{% block page_title %}400: Bad request{% endblock %} + +{% block single_col_content %} +

    400 —
    Bad request!

    +

    Uh-oh! An error has occured. It looks like something has gone wrong.

    +

    + If you are trying to reset your password, the link may have expired.

    + Try resetting the password again +

    +

    + If you are looking for a specific journal, it might have been withdrawn from the index.

    + Contact us +

    +{% endblock %} diff --git a/portality/templates-v2/public/401.html b/portality/templates-v2/public/401.html new file mode 100644 index 0000000000..797bbfee36 --- /dev/null +++ b/portality/templates-v2/public/401.html @@ -0,0 +1,13 @@ +{% extends "public/layouts/single_col_page.html" %} + +{% block body_class %}error-page{% endblock %} +{% block page_title %}401: Unauthorised{% endblock %} + +{% block single_col_content %} +

    401 —
    Unauthorised

    +

    Sorry, you are not authorised to view this page.

    +

    + If you are looking for a specific journal, it might have been withdrawn from the index.

    + Contact us +

    +{% endblock %} diff --git a/portality/templates-v2/public/404.html b/portality/templates-v2/public/404.html new file mode 100644 index 0000000000..6649585782 --- /dev/null +++ b/portality/templates-v2/public/404.html @@ -0,0 +1,17 @@ +{% extends "public/layouts/single_col_page.html" %} + +{% block body_class %}error-page{% endblock %} +{% block page_title %}404: Page not found{% endblock %} + +{% block single_col_content %} +

    404 —
    Page not found!

    +

    That didn't work. The content you are looking for may have moved.

    +

    + If you are trying to reset your password, the link may have expired.

    + Try resetting the password again +

    +

    + If you are looking for a specific journal, it might have been withdrawn from the index.

    + Contact us +

    +{% endblock %} diff --git a/portality/templates-v2/public/500.html b/portality/templates-v2/public/500.html new file mode 100644 index 0000000000..7c94935665 --- /dev/null +++ b/portality/templates-v2/public/500.html @@ -0,0 +1,13 @@ +{% extends "public/layouts/single_col_page.html" %} + +{% block body_class %}error-page{% endblock %} +{% block page_title %}500: Internal server error{% endblock %} + +{% block single_col_content %} +

    500 —
    Internal server error

    +

    An error has occurred. It looks like something has gone wrong.

    +

    + If you are looking for a specific journal, it might have been withdrawn from the index.

    + Contact us +

    +{% endblock %} diff --git a/portality/templates/application_form/aside_menu.html b/portality/templates-v2/public/_application-form/includes/_aside_menu.html similarity index 94% rename from portality/templates/application_form/aside_menu.html rename to portality/templates-v2/public/_application-form/includes/_aside_menu.html index a1b1422f9a..56feb41a86 100644 --- a/portality/templates/application_form/aside_menu.html +++ b/portality/templates-v2/public/_application-form/includes/_aside_menu.html @@ -1,5 +1,3 @@ -{% block aside_menu %} - - -{% endblock %} diff --git a/portality/templates/application_form/_buttons.html b/portality/templates-v2/public/_application-form/includes/_buttons.html similarity index 100% rename from portality/templates/application_form/_buttons.html rename to portality/templates-v2/public/_application-form/includes/_buttons.html diff --git a/portality/templates-v2/public/_application-form/includes/_pagination_menu.html b/portality/templates-v2/public/_application-form/includes/_pagination_menu.html new file mode 100644 index 0000000000..cbc7ab080c --- /dev/null +++ b/portality/templates-v2/public/_application-form/includes/_pagination_menu.html @@ -0,0 +1,26 @@ + diff --git a/portality/templates-v2/public/_application-form/includes/_review.html b/portality/templates-v2/public/_application-form/includes/_review.html new file mode 100644 index 0000000000..dfd41eb8f0 --- /dev/null +++ b/portality/templates-v2/public/_application-form/includes/_review.html @@ -0,0 +1,23 @@ +{% if not notabs %} +

    ← Back

    +

    Page 7 of {{ FORM | length + 1}}

    +{% endif %} + +{% set t = { "val": 0} %} +{% if obj %} +
    {{ obj.data.bibjson.title }}
    +{% else %} +
    Review your answers
    +{% endif %} + + + {# JS fills in this gap #} +
    +
    + +{% if formulaic_context.name == "public" or formulaic_context.name == "update_request" %} +
    + + +
    +{% endif %} diff --git a/portality/templates-v2/public/account/edit.html b/portality/templates-v2/public/account/edit.html new file mode 100644 index 0000000000..c6b808964e --- /dev/null +++ b/portality/templates-v2/public/account/edit.html @@ -0,0 +1,22 @@ +{% extends "public/base.html" %} + +{% block page_title %}{{ account.name if account.name else account.email }}’s profile{% endblock %} + +{% block public_content %} +
    +
    +
    + {% include '_account/includes/_edit_user_form.html' %} +
    + +
    + {% include "_account/includes/_marketing-consent.html" %} + {% include "_account/includes/_api-access.html" %} +
    +
    +
    +{% endblock %} + +{% block public_js %} + {% include "_account/includes/_edit_form_js.html" %} +{% endblock %} diff --git a/portality/templates/account/forgot.html b/portality/templates-v2/public/account/forgot.html similarity index 94% rename from portality/templates/account/forgot.html rename to portality/templates-v2/public/account/forgot.html index d8f5e9c837..ad81ec5436 100644 --- a/portality/templates/account/forgot.html +++ b/portality/templates-v2/public/account/forgot.html @@ -1,8 +1,8 @@ -{% extends "layouts/public_base.html" %} +{% extends "public/base.html" %} {% block page_title %}Reset your password{% endblock %} -{% block content %} +{% block public_content %}
    diff --git a/portality/templates/account/login.html b/portality/templates-v2/public/account/login.html similarity index 84% rename from portality/templates/account/login.html rename to portality/templates-v2/public/account/login.html index 726831e9e3..414aff77cc 100644 --- a/portality/templates/account/login.html +++ b/portality/templates-v2/public/account/login.html @@ -1,8 +1,8 @@ -{% extends "layouts/public_base.html" %} +{% extends "public/base.html" %} {% block page_title %}Login to your account{% endblock %} -{% block content %} +{% block public_content %}
    @@ -12,7 +12,7 @@

    Login

    You only need an account if you have a journal in DOAJ or you are a volunteer.

    - {% include "account/_login_form.html" %} + {% include "_account/includes/_login_form.html" %}

    If you cannot log in, reset your password. If you still cannot login, contact us.

    diff --git a/portality/templates/account/login_to_apply.html b/portality/templates-v2/public/account/login_to_apply.html similarity index 94% rename from portality/templates/account/login_to_apply.html rename to portality/templates-v2/public/account/login_to_apply.html index 6c5e7d879b..939e1f744c 100644 --- a/portality/templates/account/login_to_apply.html +++ b/portality/templates-v2/public/account/login_to_apply.html @@ -1,8 +1,8 @@ -{% extends "layouts/public_base.html" %} +{% extends "public/base.html" %} {% block page_title %}Login to apply{% endblock %} -{% block content %} +{% block public_content %}
    @@ -20,7 +20,7 @@

    Application form

    Log in to your account

    → Don’t have an account? Register here.

    - {% include "account/_login_form.html" %} + {% include "_account/includes/_login_form.html" %}

    If you cannot log in, reset your password. If you still cannot login, contact us.

    diff --git a/portality/templates/account/register.html b/portality/templates-v2/public/account/register.html similarity index 58% rename from portality/templates/account/register.html rename to portality/templates-v2/public/account/register.html index a497bd396a..579777747e 100644 --- a/portality/templates/account/register.html +++ b/portality/templates-v2/public/account/register.html @@ -1,8 +1,8 @@ -{% extends "layouts/public_base.html" %} +{% extends "public/base.html" %} {% block page_title %}Register{% endblock %} -{% block extra_stylesheets %} +{% block public_stylesheets %} {% endblock %} -{% block content %} +{% block public_content %}
    @@ -25,7 +25,7 @@

    Register

    {% endif %}
    - {% include "account/_register_form.html" %} + {% include "_account/includes/_register_form.html" %}

    If you have difficulty registering, contact us.

    @@ -33,19 +33,19 @@

    Register

    {% endblock %} -{% block extra_js_bottom %} +{% block public_js %} {% if current_user.is_authenticated and current_user.has_role("create_user") %} - - + + + {% endif %} -{% endif %} {% if config.get("RECAPTCHA_ENABLE") %} - - - + + + {% endif %} {% endblock %} diff --git a/portality/templates/account/reset.html b/portality/templates-v2/public/account/reset.html similarity index 80% rename from portality/templates/account/reset.html rename to portality/templates-v2/public/account/reset.html index fdacc27620..cf7e15b120 100644 --- a/portality/templates/account/reset.html +++ b/portality/templates-v2/public/account/reset.html @@ -1,8 +1,8 @@ -{% extends "layouts/public_base.html" %} +{% extends "public/base.html" %} {% block page_title %}Reset your password{% endblock %} -{% block content %} +{% block public_content %}
    @@ -13,7 +13,7 @@

    Hi {{ account.name or account.email }}

    Please set your new password.

    - {% include "account/_reset_form.html" %} + {% include "_account/includes/_reset_form.html" %}

    If you have any difficulties with your account, please contact us.

    diff --git a/portality/templates/api/includes/swagger_description.html b/portality/templates-v2/public/api/includes/_swagger_description.html similarity index 100% rename from portality/templates/api/includes/swagger_description.html rename to portality/templates-v2/public/api/includes/_swagger_description.html diff --git a/portality/templates/api/includes/_version-history.html b/portality/templates-v2/public/api/includes/_version-history.html similarity index 100% rename from portality/templates/api/includes/_version-history.html rename to portality/templates-v2/public/api/includes/_version-history.html diff --git a/portality/templates/api/v3/api_docs.html b/portality/templates-v2/public/api/v3/api_docs.html similarity index 86% rename from portality/templates/api/v3/api_docs.html rename to portality/templates-v2/public/api/v3/api_docs.html index fc95ca6569..363d54c0b3 100644 --- a/portality/templates/api/v3/api_docs.html +++ b/portality/templates-v2/public/api/v3/api_docs.html @@ -1,15 +1,15 @@ -{% extends "layouts/public_base.html" %} +{% extends "public/base.html" %} {% block page_title %}API{% endblock %} -{% block extra_stylesheets %} +{% block public_stylesheets %} {% endblock %} -{% block content %} +{% block public_content %}
    @@ -21,23 +21,23 @@

    API

    A new version of the API is available here. You should review the release notes and migration instructions as soon as possible.

    - {% include "api/includes/swagger_description.html" %} + {% include "public/api/includes/_swagger_description.html" %}

    Full API reference

    - {% include "api/v3/extra_docs.html" %} - {% include "api/includes/_version-history.html" %} + {% include "public/api/v3/includes/_extra_docs.html" %} + {% include "public/api/includes/_version-history.html" %}
    - {% include "api/v3/sidenav.html" %} + {% include "public/api/v3/includes/_sidenav.html" %}
    {% endblock %} -{% block extra_js_bottom %} +{% block public_js %} diff --git a/portality/templates/api/v3/extra_docs.html b/portality/templates-v2/public/api/v3/includes/_extra_docs.html similarity index 100% rename from portality/templates/api/v3/extra_docs.html rename to portality/templates-v2/public/api/v3/includes/_extra_docs.html diff --git a/portality/templates/api/v3/sidenav.html b/portality/templates-v2/public/api/v3/includes/_sidenav.html similarity index 100% rename from portality/templates/api/v3/sidenav.html rename to portality/templates-v2/public/api/v3/includes/_sidenav.html diff --git a/portality/templates/api/v4/api_docs.html b/portality/templates-v2/public/api/v4/api_docs.html similarity index 92% rename from portality/templates/api/v4/api_docs.html rename to portality/templates-v2/public/api/v4/api_docs.html index a90016d56d..1e0a453bb9 100644 --- a/portality/templates/api/v4/api_docs.html +++ b/portality/templates-v2/public/api/v4/api_docs.html @@ -1,15 +1,15 @@ -{% extends "layouts/public_base.html" %} +{% extends "public/base.html" %} {% block page_title %}API{% endblock %} -{% block extra_stylesheets %} +{% block public_stylesheets %} {% endblock %} -{% block content %} +{% block public_content %}
    @@ -46,23 +46,23 @@

    Timeline

    Please get in touch if you have any questions.

    - {% include "api/includes/swagger_description.html" %} + {% include "public/api/includes/_swagger_description.html" %}

    Full API reference

    - {% include "api/v4/extra_docs.html" %} - {% include "api/includes/_version-history.html" %} + {% include "public/api/v4/includes/_extra_docs.html" %} + {% include "public/api/includes/_version-history.html" %}
    - {% include "api/v4/sidenav.html" %} + {% include "public/api/v4/includes/_sidenav.html" %}
    {% endblock %} -{% block extra_js_bottom %} +{% block public_js %} diff --git a/portality/templates/api/v4/extra_docs.html b/portality/templates-v2/public/api/v4/includes/_extra_docs.html similarity index 100% rename from portality/templates/api/v4/extra_docs.html rename to portality/templates-v2/public/api/v4/includes/_extra_docs.html diff --git a/portality/templates/api/v4/sidenav.html b/portality/templates-v2/public/api/v4/includes/_sidenav.html similarity index 100% rename from portality/templates/api/v4/sidenav.html rename to portality/templates-v2/public/api/v4/includes/_sidenav.html diff --git a/portality/templates/doaj/article.html b/portality/templates-v2/public/article.html similarity index 93% rename from portality/templates/doaj/article.html rename to portality/templates-v2/public/article.html index b1fc9caf4a..e853224192 100644 --- a/portality/templates/doaj/article.html +++ b/portality/templates-v2/public/article.html @@ -1,15 +1,15 @@ -{% extends "layouts/public_base.html" %} +{% extends "public/base.html" %} -{% block body_class %}article-details{% endblock %} +{% block page_title %}{% include "public/includes/_article_meta_title.html" %}{% endblock %} + +{% block meta_og_title %}{% include "public/includes/_article_meta_title.html" %}{% endblock %} +{% block meta_twitter_title %}{% include "public/includes/_article_meta_title.html" %}{% endblock %} -{% block page_title %}{% include "doaj/includes/_article_meta_title.html" %}{% endblock %} -{% block meta_og_title %}{% include "doaj/includes/_article_meta_title.html" %}{% endblock %} -{% block meta_twitter_title %}{% include "doaj/includes/_article_meta_title.html" %}{% endblock %} -{%- block meta_description -%}{% include "doaj/includes/_article_meta_description.html" %}{%- endblock -%} -{%- block meta_og_description -%}{% include "doaj/includes/_article_meta_description.html" %}{%- endblock -%} -{%- block meta_twitter_description -%}{% include "doaj/includes/_article_meta_description.html" %}{%- endblock -%} +{%- block meta_description -%}{% include "public/includes/_article_meta_description.html" %}{%- endblock -%} +{%- block meta_og_description -%}{% include "public/includes/_article_meta_description.html" %}{%- endblock -%} +{%- block meta_twitter_description -%}{% include "public/includes/_article_meta_description.html" %}{%- endblock -%} -{% block extra_meta_tags %} +{% block public_meta %} {% set bibjson = article.bibjson() %} {% set jbib = journal.bibjson() %} {% set jtitle, cite = bibjson.vancouver_citation() %} @@ -51,7 +51,9 @@ {% endfor %} {% endblock %} -{% block content %} +{% block body_class %}article-details{% endblock %} + +{% block public_content %} {% set TYN = { diff --git a/portality/templates/doaj/articles_search.html b/portality/templates-v2/public/articles_search.html similarity index 77% rename from portality/templates/doaj/articles_search.html rename to portality/templates-v2/public/articles_search.html index 4a518fb3ae..393cadff52 100644 --- a/portality/templates/doaj/articles_search.html +++ b/portality/templates-v2/public/articles_search.html @@ -1,6 +1,4 @@ -{% extends "layouts/public_base.html" %} - -{% block body_attrs %}class="search"{% endblock %} +{% extends "public/base.html" %} {% block page_title %}Articles{% endblock %} {% block meta_og_title %}Articles{% endblock %} @@ -9,14 +7,14 @@ {%- block meta_og_description -%}Find open access articles in DOAJ.{%- endblock -%} {%- block meta_twitter_description -%}Find open access articles in DOAJ.{%- endblock -%} -{% block content %} +{% block public_content %}
    - {% include "includes/search-help-modal.html" %} + {% include "public/includes/_search-help-modal.html" %}
    {% endblock %} -{% block extra_js_bottom %} +{% block public_js %} - {% include "_edges_common_js.html" %} + {% include "includes/_edges_common_js.html" %} -{% endblock extra_js_bottom %} +{% endblock %} diff --git a/portality/templates-v2/public/base.html b/portality/templates-v2/public/base.html new file mode 100644 index 0000000000..3802ef461c --- /dev/null +++ b/portality/templates-v2/public/base.html @@ -0,0 +1,63 @@ +{% extends "base.html" %} + +{% block base_meta %} + + + + + + + + + + + + + + + + + + + {% block public_meta %}{% endblock %} +{% endblock %} + +{% block base_stylesheets %} + {% block public_stylesheets %}{% endblock %} +{% endblock %} + +{% block base_content %} + + + + + + {% include "public/includes/_quick_search_modal.html" %} + + {# global site note #} + {% if config.get("SITE_NOTE_ACTIVE", False) and not request.cookies.get(config.get("SITE_NOTE_KEY")) %} +
    +
    +
    + {% include templates.SITE_NOTE %} +
    +
    +
    + {% endif %} + +
    + {% block public_content %}{% endblock %} +
    + + {% include "public/includes/_footer.html" %} + +{% endblock %} + +{% block base_js %} + {% block public_js %}{% endblock %} +{% endblock %} + diff --git a/portality/templates/data/advisory-board-council.html b/portality/templates-v2/public/includes/_advisory-board-council.html similarity index 100% rename from portality/templates/data/advisory-board-council.html rename to portality/templates-v2/public/includes/_advisory-board-council.html diff --git a/portality/templates/data/ambassadors.html b/portality/templates-v2/public/includes/_ambassadors.html similarity index 100% rename from portality/templates/data/ambassadors.html rename to portality/templates-v2/public/includes/_ambassadors.html diff --git a/portality/templates/doaj/includes/_article_meta_description.html b/portality/templates-v2/public/includes/_article_meta_description.html similarity index 100% rename from portality/templates/doaj/includes/_article_meta_description.html rename to portality/templates-v2/public/includes/_article_meta_description.html diff --git a/portality/templates/doaj/includes/_article_meta_title.html b/portality/templates-v2/public/includes/_article_meta_title.html similarity index 100% rename from portality/templates/doaj/includes/_article_meta_title.html rename to portality/templates-v2/public/includes/_article_meta_title.html diff --git a/portality/templates/includes/_aside_in_case_of_rejection.html b/portality/templates-v2/public/includes/_aside_in_case_of_rejection.html similarity index 100% rename from portality/templates/includes/_aside_in_case_of_rejection.html rename to portality/templates-v2/public/includes/_aside_in_case_of_rejection.html diff --git a/portality/templates/includes/footer-column.html b/portality/templates-v2/public/includes/_footer-column.html similarity index 77% rename from portality/templates/includes/footer-column.html rename to portality/templates-v2/public/includes/_footer-column.html index 1ef4307c82..06f07f0cd0 100644 --- a/portality/templates/includes/footer-column.html +++ b/portality/templates-v2/public/includes/_footer-column.html @@ -4,6 +4,6 @@

    {{ entry.label }}

    \ No newline at end of file diff --git a/portality/templates/includes/footer.html b/portality/templates-v2/public/includes/_footer.html similarity index 92% rename from portality/templates/includes/footer.html rename to portality/templates-v2/public/includes/_footer.html index 82a08817a7..086dd047e4 100644 --- a/portality/templates/includes/footer.html +++ b/portality/templates-v2/public/includes/_footer.html @@ -1,4 +1,4 @@ -{% include "includes/_nav_modals.html" %} +{% include "public/includes/_nav_modals.html" %}