diff --git a/app/assets/stylesheets/admin/appstack/style.sass b/app/assets/stylesheets/admin/appstack/style.sass index 02c1b4b897ccaa3736affad729c557adf75bc479..1dc6a960393144b77ff31327402e27e1b859989c 100644 --- a/app/assets/stylesheets/admin/appstack/style.sass +++ b/app/assets/stylesheets/admin/appstack/style.sass @@ -71,7 +71,8 @@ h1 pointer-events: none .sidebar-link, a.sidebar-link color: rgba(255, 255, 255, 0.8) -.sidebar-item.active .sidebar-link:hover, .sidebar-item.active > .sidebar-link +.sidebar-item.active .sidebar-link:hover, +.sidebar-item.active > .sidebar-link color: white #topbar @@ -109,4 +110,7 @@ h1 margin-top: -5px &__title border-bottom: 1px solid rgba(0, 0, 0, 0.3) - padding-bottom: 6px \ No newline at end of file + padding-bottom: 6px + +.pure__separation + display: none \ No newline at end of file diff --git a/app/assets/stylesheets/admin/pure/style.sass b/app/assets/stylesheets/admin/pure/style.sass index d4b5b7dce4e28f75d63bb9246612734e18e2dab7..d2caf6a7e9f305a750c2379fbb7fb5e28655cf64 100644 --- a/app/assets/stylesheets/admin/pure/style.sass +++ b/app/assets/stylesheets/admin/pure/style.sass @@ -11,6 +11,9 @@ > * padding-left: calc(.5 * #{$spacing1}) padding-right: calc(.5 * #{$spacing1}) + &__separation + border-width: 10px + margin-bottom: $spacing3 .navbar position: absolute @@ -112,7 +115,9 @@ a &.kind--selected background: $color-accent border-color: $color-accent - color: $color-background + &, p + color: $color-background + .list-group-item.active color: $color-accent diff --git a/app/controllers/admin/research/journals_controller.rb b/app/controllers/admin/research/journals_controller.rb index 1dd99dea3435a14964106026aff16fa4e0359f16..048aaaef7d1dee966ad1213e3f027704aea1738a 100644 --- a/app/controllers/admin/research/journals_controller.rb +++ b/app/controllers/admin/research/journals_controller.rb @@ -14,6 +14,7 @@ class Admin::Research::JournalsController < Admin::Research::ApplicationControll def show @papers = @journal.papers.ordered.limit(10) @kinds = @journal.kinds.ordered + @volumes = @journal.volumes.ordered breadcrumb end diff --git a/app/helpers/admin/application_helper.rb b/app/helpers/admin/application_helper.rb index 821138ac9a247bdf3957aecbb80db094c6b3e57c..a35df6e65a1f3e0091e1f11791d5a0f3faa178f1 100644 --- a/app/helpers/admin/application_helper.rb +++ b/app/helpers/admin/application_helper.rb @@ -45,6 +45,10 @@ module Admin::ApplicationHelper aria-controls=\"preview\">#{ t 'preview.button'}</button>" end + def static_link(path) + raw "<a href=\"#{path}\" class=\"btn btn-light btn-xs\">#{t 'static' }</a>" + end + def osuny_panel(title = nil, subtitle: nil, action: nil, &block) render layout: "admin/layouts/themes/#{current_admin_theme}/panel", locals: { diff --git a/app/views/admin/communication/extranets/_form.html.erb b/app/views/admin/communication/extranets/_form.html.erb index 8f2cbab3c114c84dba73e2a1e2590b73080be659..27532500a476af46882a73a5bff7e9412ecfb448 100644 --- a/app/views/admin/communication/extranets/_form.html.erb +++ b/app/views/admin/communication/extranets/_form.html.erb @@ -3,54 +3,39 @@ <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %> <div class="row"> - <div class="col-md-6"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('metadata') %></h5> - </div> - <div class="card-body"> - <%= f.input :name %> - <%= f.input :host %> - <%= render 'admin/communication/abouts', f: f, i18n_key: 'activerecord.attributes.communication/extranet.about_' %> - <%= f.input :registration_contact %> - </div> - </div> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('look_feel') %></h5> - </div> - <div class="card-body"> - <%= f.input :logo, - as: :single_deletable_file, - input_html: { accept: '.jpg,.jpeg,.png,.svg' }, - preview: 200, - direct_upload: true %> - <%= f.input :favicon, - as: :single_deletable_file, - input_html: { accept: '.png' }, - preview: 100, - direct_upload: true %> - <%= f.input :color, as: :color %> - </div> - </div> + <div class="col-xl-6"> + <%= osuny_panel t('metadata') do %> + <%= f.input :name %> + <%= f.input :host %> + <%= render 'admin/communication/abouts', f: f, i18n_key: 'activerecord.attributes.communication/extranet.about_' %> + <%= f.input :registration_contact %> + <% end %> + <%= osuny_panel t('look_feel') do %> + <%= f.input :logo, + as: :single_deletable_file, + input_html: { accept: '.jpg,.jpeg,.png,.svg' }, + preview: 200, + direct_upload: true %> + <%= f.input :favicon, + as: :single_deletable_file, + input_html: { accept: '.png' }, + preview: 100, + direct_upload: true %> + <%= f.input :color, as: :color %> + <% end %> </div> - <div class="col-md-6"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('legal') %></h5> - </div> - <div class="card-body"> - <%= f.input :terms, as: :summernote %> - <%= f.input :privacy_policy, as: :summernote %> - <%= f.input :cookies_policy, as: :summernote %> - </div> - </div> + <div class="col-xl-6"> + <%= osuny_panel t('legal') do %> + <%= f.input :terms, as: :summernote %> + <%= f.input :privacy_policy, as: :summernote %> + <%= f.input :cookies_policy, as: :summernote %> + <% end %> </div> </div> - <h3 class="mt-5"><%= t('university.sso') %></h3> + <h2 class="category"><%= t('university.sso') %></h2> <div class="row"> - <div class="col-md-6"> + <div class="col-xl-6"> <%= f.input :has_sso %> <div class="sso-inputs"> <%= f.input :sso_target_url, required: true %> @@ -59,7 +44,7 @@ <%= f.input :sso_button_label %> </div> </div> - <div class="col-md-6 sso-inputs"> + <div class="col-xl-6 sso-inputs"> <h4 class="mb-4"><%= University.human_attribute_name('sso_mapping') %></h4> <%= f.error_notification message: f.object.errors[:sso_mapping].to_sentence if f.object.errors[:sso_mapping].present? %> <%= render 'server/universities/sso_mapping', object: extranet %> diff --git a/app/views/admin/communication/websites/_form.html.erb b/app/views/admin/communication/websites/_form.html.erb index 9530351b137b23096920305065a86952aed822fd..df4f1c7090df8f8986b1532e7c7f616c661ffb66 100644 --- a/app/views/admin/communication/websites/_form.html.erb +++ b/app/views/admin/communication/websites/_form.html.erb @@ -3,49 +3,34 @@ <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %> <div class="row"> - <div class="col-md-4"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('metadata') %></h5> - </div> - <div class="card-body"> - <%= f.input :name %> - <%= f.input :url %> - <%= render 'admin/communication/abouts', f: f, i18n_key: 'activerecord.attributes.communication/website.about_' %> - <%= f.association :languages, as: :check_boxes, required: true, wrapper_html: { class: "js-languages" } %> - <%= f.association :default_language, include_blank: t('simple_form.include_blanks.defaults.language'), input_html: { class: "js-default-language" } %> - <%= f.input :in_production %> - </div> - </div> + <div class="col-xl-4"> + <%= osuny_panel t('metadata') do %> + <%= f.input :name %> + <%= f.input :url %> + <%= render 'admin/communication/abouts', f: f, i18n_key: 'activerecord.attributes.communication/website.about_' %> + <%= f.association :languages, as: :check_boxes, required: true, wrapper_html: { class: "js-languages" } %> + <%= f.association :default_language, include_blank: t('simple_form.include_blanks.defaults.language'), input_html: { class: "js-default-language" } %> + <%= f.input :in_production %> + <% end %> </div> - <div class="col-md-8"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('communication.website.git') %></h5> - </div> - <div class="card-body"> + <div class="col-xl-8"> + <%= osuny_panel t('communication.website.git') do %> <div class="row"> - <div class="col-md-6"> + <div class="col-xl-6"> <%= f.input :git_provider, include_blank: false %> <%= f.input :git_endpoint %> </div> - <div class="col-md-6"> + <div class="col-xl-6"> <%= f.input :access_token %> <%= f.input :repository %> <%= f.input :git_branch %> </div> </div> - </div> - </div> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('communication.website.analytics') %></h5> - </div> - <div class="card-body"> - <%= f.input :plausible_url %> - </div> + <% end %> + <%= osuny_panel t('communication.website.analytics') do %> + <%= f.input :plausible_url %> + <% end %> </div> - </div> <% content_for :action_bar_right do %> <%= submit f %> diff --git a/app/views/admin/education/programs/forms/_part.html.erb b/app/views/admin/education/programs/forms/_part.html.erb index 2141dac018fe963b7f503c34dec18821d41b01bb..41f2999ca31b43764f532899d156c1bddfbf130a 100644 --- a/app/views/admin/education/programs/forms/_part.html.erb +++ b/app/views/admin/education/programs/forms/_part.html.erb @@ -1,30 +1,5 @@ -<% -collapsed ||= false -id = "part-#{part}" -%> -<div class="card"> - <div class="card-header"> - <!-- - <div class="card-actions float-end"> - <button class="accordion-button bg-transparent <%= 'collapsed' if collapsed %>" - type="button" - data-bs-toggle="collapse" - data-bs-target="#<%= id %>" - aria-expanded="<%= !collapsed %>" - aria-controls="part-<%= part %>"> - <i class="fa-solid fa-square-caret-down"></i> - </button> - </div> - --> - <h5 class="card-title mb-1"> - <%= t("education.program.parts.#{part}.label") %> - </h5> - <p class="mb-0"><%= t("education.program.parts.#{part}.hint") %></p> - </div> - <div class="card-body"> - <!-- - <div class="card-body collapse <%= 'show' unless collapsed %>" id="<%= id %>"> - --> - <%= yield %> - </div> -</div> +<%= osuny_panel t("education.program.parts.#{part}.label"), + subtitle: t("education.program.parts.#{part}.hint") do %> + <%= yield %> +<% end %> +<hr class="pure__separation"> diff --git a/app/views/admin/education/programs/show.html.erb b/app/views/admin/education/programs/show.html.erb index 22a263d579ba7b6713a76144b35319d37783d319..32ce1a79e15d2c010b6c9935726375d26c52058f 100644 --- a/app/views/admin/education/programs/show.html.erb +++ b/app/views/admin/education/programs/show.html.erb @@ -73,6 +73,7 @@ </div> <% end %> <%= render 'admin/communication/blocks/list', about: @program %> + <hr class="pure__separation"> <%= render 'admin/education/programs/forms/part', part: :pedagogy, collapsed: true do %> <div class="row"> <div class="col-xxl-6"> diff --git a/app/views/admin/research/journals/_form.html.erb b/app/views/admin/research/journals/_form.html.erb index 1d9fbaa4ad4500cc869a78755a9fc6cc350d7b1d..d1acbd12809d93a9b4b7a24d53146cbaa1feb717 100644 --- a/app/views/admin/research/journals/_form.html.erb +++ b/app/views/admin/research/journals/_form.html.erb @@ -4,13 +4,9 @@ <div class="row"> <div class="col-md-6"> - <div class="card flex-fill w-100"> - <div class="card-body"> - <%= f.input :title %> - <%= render 'admin/application/summary/form', f: f, about: journal %> - <%= f.input :issn %> - </div> - </div> + <%= f.input :title %> + <%= render 'admin/application/summary/form', f: f, about: journal %> + <%= f.input :issn %> </div> <div class="col-md-6"> <%= render 'admin/application/meta_description/form', f: f, about: journal %> diff --git a/app/views/admin/research/journals/papers/_form.html.erb b/app/views/admin/research/journals/papers/_form.html.erb index d476a711028f2d8b38c644e0581687dfa8c524d6..295be4dfdc090c45bb7cd6a775158823732ba1e5 100644 --- a/app/views/admin/research/journals/papers/_form.html.erb +++ b/app/views/admin/research/journals/papers/_form.html.erb @@ -4,48 +4,38 @@ <div class="row"> <div class="col-md-8"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('content') %></h5> - </div> - <div class="card-body"> - <%= f.input :title, as: :text, input_html: { rows: 3 } %> - <%= render 'admin/application/summary/form', f: f, about: paper %> - <%= f.input :abstract, as: :text, input_html: { rows: 8 } %> - <%= f.input :pdf %> - <%= f.input :text, - as: :summernote, - input_html: { - data: { 'summernote-config' => 'mini' } - } %> - <%= f.input :references, - as: :summernote, - input_html: { - data: { 'summernote-config' => 'mini' } - } %> - </div> - </div> + <%= osuny_panel t('content') do %> + <%= f.input :title, as: :text, input_html: { rows: 3 } %> + <%= render 'admin/application/summary/form', f: f, about: paper %> + <%= f.input :abstract, as: :text, input_html: { rows: 8 } %> + <%= f.input :pdf %> + <%= f.input :text, + as: :summernote, + input_html: { + data: { 'summernote-config' => 'mini' } + } %> + <%= f.input :references, + as: :summernote, + input_html: { + data: { 'summernote-config' => 'mini' } + } %> + <% end %> </div> <div class="col-md-4"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('metadata') %></h5> - </div> - <div class="card-body"> - <%= f.input :slug, - as: :string, - input_html: paper.persisted? ? {} : { - class: 'js-slug-input', - data: { source: '#research_journal_paper_title' } - } %> - <%= f.association :volume, collection: @journal.volumes, label: Research::Journal::Volume.model_name.human %> - <%= f.input :published %> - <%= f.input :published_at, html5: true %> - <%= f.input :keywords, as: :text, input_html: { rows: 2 } %> - <%= f.association :people, collection: current_university.people.researchers.ordered, as: :check_boxes %> - <%= f.association :kind, collection: @journal.kinds.ordered if @journal.kinds.any? %> - </div> - </div> + <%= osuny_panel t('metadata') do %> + <%= f.input :slug, + as: :string, + input_html: paper.persisted? ? {} : { + class: 'js-slug-input', + data: { source: '#research_journal_paper_title' } + } %> + <%= f.association :volume, collection: @journal.volumes, label: Research::Journal::Volume.model_name.human %> + <%= f.input :published %> + <%= f.input :published_at, html5: true %> + <%= f.input :keywords, as: :text, input_html: { rows: 2 } %> + <%= f.association :people, collection: current_university.people.researchers.ordered, as: :check_boxes %> + <%= f.association :kind, collection: @journal.kinds.ordered if @journal.kinds.any? %> + <% end %> <%= render 'admin/application/meta_description/form', f: f, about: paper %> </div> </div> diff --git a/app/views/admin/research/journals/papers/kinds/_form.html.erb b/app/views/admin/research/journals/papers/kinds/_form.html.erb index 853d1f38afa3b8fe779dbf9e9dafa55c65004936..27b52e6d04df343cba523c230cf6909028fa86b1 100644 --- a/app/views/admin/research/journals/papers/kinds/_form.html.erb +++ b/app/views/admin/research/journals/papers/kinds/_form.html.erb @@ -5,31 +5,22 @@ url = kind.new_record? ? admin_research_journal_kinds_path <%= simple_form_for kind, url: url do |f| %> <%= f.error_notification %> <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %> + <div class="row"> - <div class="col-md-8"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('content') %></h5> - </div> - <div class="card-body"> - <%= f.input :title %> - </div> - </div> + <div class="col-xl-8"> + <%= osuny_panel t('content') do %> + <%= f.input :title %> + <% end %> </div> - <div class="col-md-4"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('metadata') %></h5> - </div> - <div class="card-body"> - <%= f.input :slug, - as: :string, - input_html: kind.persisted? ? {} : { - class: 'js-slug-input', - data: { source: '#research_journal_paper_kind_title' } - } %> - </div> - </div> + <div class="col-xl-4"> + <%= osuny_panel t('metadata') do %> + <%= f.input :slug, + as: :string, + input_html: kind.persisted? ? {} : { + class: 'js-slug-input', + data: { source: '#research_journal_paper_kind_title' } + } %> + <% end %> </div> </div> <% content_for :action_bar_right do %> diff --git a/app/views/admin/research/journals/papers/kinds/show.html.erb b/app/views/admin/research/journals/papers/kinds/show.html.erb index b4f8798a4b8572bef813e791ceb9cc65c051d3c0..d3ba423580a14bdfa45ed7e479b7a360a13caeee 100644 --- a/app/views/admin/research/journals/papers/kinds/show.html.erb +++ b/app/views/admin/research/journals/papers/kinds/show.html.erb @@ -3,13 +3,12 @@ <%= render 'admin/research/journals/papers/list', papers: @papers %> <% content_for :action_bar_left do %> - <%= link_to t('destroy'), + <%= link_to t('delete'), admin_research_journal_kind_path(@kind), data: { confirm: t('please_confirm') }, class: button_classes_danger %> - <%= link_to t('static'), - static_admin_research_journal_kind_path(@kind), - class: button_classes('btn-light') if current_user.server_admin? %> + + <%= static_link static_admin_research_journal_kind_path(@kind) %> <% end %> <% content_for :action_bar_right do %> diff --git a/app/views/admin/research/journals/papers/show.html.erb b/app/views/admin/research/journals/papers/show.html.erb index a4ab2037d7da3cb5eb430fa5c27ea0650ef90e41..c6c9c5bee236aa9e446a1eb6824b1171e94b547a 100644 --- a/app/views/admin/research/journals/papers/show.html.erb +++ b/app/views/admin/research/journals/papers/show.html.erb @@ -2,69 +2,51 @@ <div class="row"> <div class="col-md-8"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h2 class="card-title mb-0 h5"><%= t('content') %></h2> - </div> - <div class="card-body"> - <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('abstract') %></h3> - <p><%= @paper.abstract %></p> - <% if @paper.pdf.attached? %> - <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('pdf') %></h3> - <%= link_to @paper.pdf.filename, url_for(@paper.pdf) %> - <% end %> - <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('text') %></h3> - <p><%= @paper.text %></p> - <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('references') %></h3> - <p><%= @paper.references %></p> - </div> - </div> + <%= osuny_panel t('content') do %> + <%= osuny_label Research::Journal::Paper.human_attribute_name('abstract') %> + <p><%= @paper.abstract %></p> + <% if @paper.pdf.attached? %> + <%= osuny_label Research::Journal::Paper.human_attribute_name('pdf') %> + <%= link_to @paper.pdf.filename, url_for(@paper.pdf) %> + <% end %> + <%= osuny_label Research::Journal::Paper.human_attribute_name('text') %> + <p><%= @paper.text %></p> + <%= osuny_label Research::Journal::Paper.human_attribute_name('references') %> + <p><%= @paper.references %></p> + <% end %> <%= render 'admin/application/summary/show', about: @paper %> </div> <div class="col-md-4"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h2 class="card-title mb-0 h5"><%= t('metadata') %></h2> - </div> - <div class="card-body"> + <%= osuny_panel t('metadata') do %> <% if @paper.volume %> - <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('volume') %></h3> + <%= osuny_label Research::Journal::Paper.human_attribute_name('volume') %> <p><%= link_to @paper.volume, [:admin, @paper.volume], class: "#{'draft' unless @paper.volume.published?}" %></p> <% end %> - <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('published') %></h3> + <%= osuny_label Research::Journal::Paper.human_attribute_name('published') %> <p><%= t @paper.published %></p> <% if @paper.published? && @paper.published_at.present? %> - <h3 class="h5"> - <%= Research::Journal::Paper.human_attribute_name('published_at') %> - </h3> + <%= osuny_label Research::Journal::Paper.human_attribute_name('published_at') %> <p><%= l @paper.published_at.to_time, format: :date_with_explicit_month %></p> <% end %> <% unless @paper.keywords.blank? %> - <h3 class="h5"> - <%= Research::Journal::Paper.human_attribute_name('keywords') %> - </h3> + <%= osuny_label Research::Journal::Paper.human_attribute_name('keywords') %> <p><%= @paper.keywords %></p> <% end %> <% if @paper.kind %> - <h3 class="h5"> - <%= Research::Journal::Paper.human_attribute_name('kind') %> - </h3> + <%= osuny_label Research::Journal::Paper.human_attribute_name('kind') %> <p><%= link_to @paper.kind, admin_research_journal_kind_path(@paper.kind) %></p> <% end %> <% if @paper.people.any? %> - <h3 class="h5"> - <%= Research::Journal::Paper.human_attribute_name('people') %> - </h3> + <%= osuny_label Research::Journal::Paper.human_attribute_name('people') %> <ul class="list-unstyled mb-0"> <% @paper.people.each do |person| %> <li><%= link_to person, admin_research_researcher_path(person) %></li> <% end %> </ul> <% end %> - </div> - </div> + <% end %> <%= render 'admin/application/meta_description/show', about: @paper %> </div> </div> diff --git a/app/views/admin/research/journals/show.html.erb b/app/views/admin/research/journals/show.html.erb index d3a88ddf1c0a69badfb2954a989878f82fde4351..2d80a449b8f1f02d0734bdbf893fab4a566abf20 100644 --- a/app/views/admin/research/journals/show.html.erb +++ b/app/views/admin/research/journals/show.html.erb @@ -20,60 +20,54 @@ </div> </div> -<div class="float-end"> - <%= link_to t('create'), - new_admin_research_journal_volume_path(journal_id: @journal), - class: button_classes %> -</div> -<h2 class="h4"> - <%= link_to Research::Journal::Volume.model_name.human(count: 2), - admin_research_journal_volumes_path(journal_id: @journal) %> -</h2> -<div class="row"> - <% @journal.volumes.ordered.limit(4).each do |volume| %> - <div class="col-md-3 mt-4 p-0"> - <div class="card"> - <%= kamifusen_tag volume.featured_image, width: 600, class: 'img-fluid' if volume.featured_image.attached? %> - <div class="card-body"> - <%= link_to volume, - admin_research_journal_volume_path(journal_id: @journal, id: volume), - class: "stretched-link #{'draft' unless volume.published?}" %> +<% +action = link_to t('create'), + new_admin_research_journal_volume_path(journal_id: @journal), + class: button_classes +subtitle = link_to t('communication.website.see_all', number: @volumes.count), + admin_research_journal_volumes_path(journal_id: @journal) +%> +<%= osuny_panel Research::Journal::Volume.model_name.human(count: 2), subtitle: subtitle, action: action do %> + <div class="row"> + <% @volumes.limit(4).each do |volume| %> + <div class="col-md-6 col-xl-3"> + <div class="card"> + <%= kamifusen_tag volume.featured_image, width: 600, class: 'img-fluid' if volume.featured_image.attached? %> + <div class="card-body"> + <%= link_to volume, + admin_research_journal_volume_path(journal_id: @journal, id: volume), + class: "stretched-link #{'draft' unless volume.published?}" %> + </div> </div> </div> - </div> - <% end %> -</div> + <% end %> + </div> +<% end %> <div class="row"> - <div class="col-md-8"> - <div class="card mt-5"> - <div class="card-header"> - <div class="float-end"> - <%= link_to t('create'), - new_admin_research_journal_paper_path(journal_id: @journal), - class: button_classes %> - </div> - <h2 class="card-title"> - <%= link_to Research::Journal::Paper.model_name.human(count: 2), - admin_research_journal_papers_path(journal_id: @journal) %></h2> - </div> + <div class="col-xl-8"> + <% + action = link_to t('create'), + new_admin_research_journal_paper_path(journal_id: @journal), + class: button_classes + subtitle = link_to t('communication.website.see_all', number: @papers.count), + admin_research_journal_papers_path(journal_id: @journal) + %> + <%= osuny_panel Research::Journal::Paper.model_name.human(count: 2), subtitle: subtitle, action: action do %> <%= render 'admin/research/journals/papers/list', papers: @papers %> - </div> + <% end %> </div> - <div class="col-md-4"> - <div class="card mt-5"> - <div class="card-header"> - <div class="float-end"> - <%= link_to t('create'), - new_admin_research_journal_kind_path(journal_id: @journal), - class: button_classes %> - </div> - <h2 class="card-title"> - <%= link_to Research::Journal::Paper::Kind.model_name.human(count: 2), - admin_research_journal_kind_path(journal_id: @journal) %></h2> - </div> + <div class="col-xl-4"> + <% + action = link_to t('create'), + new_admin_research_journal_kind_path(journal_id: @journal), + class: button_classes + subtitle = link_to t('communication.website.see_all', number: @kinds.count), + admin_research_journal_kinds_path(journal_id: @journal) + %> + <%= osuny_panel Research::Journal::Paper::Kind.model_name.human(count: 2), subtitle: subtitle, action: action do %> <%= render 'admin/research/journals/papers/kinds/list', kinds: @kinds %> - </div> + <% end %> </div> </div> diff --git a/app/views/admin/research/journals/volumes/_form.html.erb b/app/views/admin/research/journals/volumes/_form.html.erb index 7d39bfe89911ab1eda2c2dd64151cc649f4afc48..70c08a827804939262c0ff4cff1cbb4102adc304 100644 --- a/app/views/admin/research/journals/volumes/_form.html.erb +++ b/app/views/admin/research/journals/volumes/_form.html.erb @@ -3,37 +3,27 @@ <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %> <div class="row"> - <div class="col-md-8"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('content') %></h5> - </div> - <div class="card-body"> - <%= f.input :title %> - <%= render 'admin/application/summary/form', f: f, about: volume %> - <%= f.input :text, as: :summernote %> - </div> - </div> + <div class="col-xl-8"> + <%= osuny_panel t('content') do %> + <%= f.input :title %> + <%= render 'admin/application/summary/form', f: f, about: volume %> + <%= f.input :text, as: :summernote %> + <% end %> <%= render 'admin/application/meta_description/form', f: f, about: volume %> </div> - <div class="col-md-4"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('metadata') %></h5> - </div> - <div class="card-body"> - <%= f.input :slug, - as: :string, - input_html: volume.persisted? ? {} : { - class: 'js-slug-input', - data: { source: '#research_journal_volume_title' } - } %> - <%= f.input :number %> - <%= f.input :published %> - <%= f.input :published_at, html5: true %> - <%= f.input :keywords %> - </div> - </div> + <div class="col-xl-4"> + <%= osuny_panel t('metadata') do %> + <%= f.input :slug, + as: :string, + input_html: volume.persisted? ? {} : { + class: 'js-slug-input', + data: { source: '#research_journal_volume_title' } + } %> + <%= f.input :number %> + <%= f.input :published %> + <%= f.input :published_at, html5: true %> + <%= f.input :keywords %> + <% end %> <%= render 'admin/application/featured_image/edit', about: volume, f: f %> </div> </div> diff --git a/app/views/admin/research/journals/volumes/index.html.erb b/app/views/admin/research/journals/volumes/index.html.erb index 95d7f70af8d410bf36145da334b05a89d8464101..a484af04c9415c739c69d318f3e2167abefb1736 100644 --- a/app/views/admin/research/journals/volumes/index.html.erb +++ b/app/views/admin/research/journals/volumes/index.html.erb @@ -4,7 +4,8 @@ <table class="<%= table_classes %>"> <thead> <tr> - <th><%= Research::Journal::Volume.model_name.human %></th> + <th><%= Research::Journal::Volume.human_attribute_name('title') %></th> + <th><%= Research::Journal::Volume.human_attribute_name('number') %></th> <th><%= Research::Journal::Volume.human_attribute_name('featured_image') %></th> <th><%= Research::Journal::Volume.human_attribute_name('published_at') %></th> <th></th> @@ -18,6 +19,7 @@ admin_research_journal_volume_path(journal_id: @journal, id: volume), class: "#{'draft' unless volume.published?}" %> </td> + <td><%= volume.number %></td> <td><%= image_tag volume.featured_image.variant(resize: 'x200'), height: 100 if volume.featured_image.attached? %></td> <td><%= l(volume.published_at.to_time, format: :date_with_explicit_month) if volume.published_at.present? %></td> diff --git a/app/views/admin/research/journals/volumes/show.html.erb b/app/views/admin/research/journals/volumes/show.html.erb index 1872da74cef693b7fde577f38866b0bd6b54e390..b5c16a3d836326f867b87d1d14f17f64d496b61d 100644 --- a/app/views/admin/research/journals/volumes/show.html.erb +++ b/app/views/admin/research/journals/volumes/show.html.erb @@ -4,62 +4,58 @@ <div class="col-md-9"> <%= render 'admin/application/summary/show', about: @volume %> <% if @papers.any? %> - <h3 class="h5 mt-5"><%= Research::Journal::Paper.model_name.human(count: 2) %></h3> - <div class="table-responsive"> - <table class="<%= table_classes %>"> - <thead> - <tr> - <% if can? :reorder, Research::Journal::Paper %> - <th width="20" class="ps-0"> </th> - <% end %> - <th class="ps-0"><%= Research::Journal::Paper.human_attribute_name('title') %></th> - <th><%= Research::Journal::Paper.human_attribute_name('published_at') %></th> - <th></th> - </tr> - </thead> - <tbody data-sortable data-sort-url="<%= reorder_admin_research_journal_papers_path(journal_id: @journal.id) %>"> - <% @papers.each do |paper| %> - <tr data-id="<%= paper.id %>"> + <%= osuny_panel Research::Journal::Paper.model_name.human(count: 2) do %> + <div class="table-responsive"> + <table class="<%= table_classes %>"> + <thead> + <tr> <% if can? :reorder, Research::Journal::Paper %> - <td><i class="fa fa-bars handle"></i></td> + <th width="20" class="ps-0"> </th> <% end %> - <td> - <%= link_to paper, - admin_research_journal_paper_path(journal_id: paper.journal, id: paper), - class: "#{'draft' unless paper.published?}" %> - </td> - <td><%= l(paper.published_at.to_time, format: :date_with_explicit_month) if paper.published_at.present? %></td> - <td class="text-end"> - <div class="btn-group" role="group"> - <%= link_to t('edit'), - edit_admin_research_journal_paper_path(journal_id: paper.journal, id: paper), - class: button_classes %> - <%= link_to t('delete'), - admin_research_journal_paper_path(journal_id: paper.journal, id: paper), - method: :delete, - data: { confirm: t('please_confirm') }, - class: button_classes_danger %> - </div> - </td> + <th class="ps-0"><%= Research::Journal::Paper.human_attribute_name('title') %></th> + <th><%= Research::Journal::Paper.human_attribute_name('published_at') %></th> + <th></th> </tr> - <% end %> - </tbody> - </table> - </div> + </thead> + <tbody data-sortable data-sort-url="<%= reorder_admin_research_journal_papers_path(journal_id: @journal.id) %>"> + <% @papers.each do |paper| %> + <tr data-id="<%= paper.id %>"> + <% if can? :reorder, Research::Journal::Paper %> + <td><i class="fa fa-bars handle"></i></td> + <% end %> + <td> + <%= link_to paper, + admin_research_journal_paper_path(journal_id: paper.journal, id: paper), + class: "#{'draft' unless paper.published?}" %> + </td> + <td><%= l(paper.published_at.to_time, format: :date_with_explicit_month) if paper.published_at.present? %></td> + <td class="text-end"> + <div class="btn-group" role="group"> + <%= link_to t('edit'), + edit_admin_research_journal_paper_path(journal_id: paper.journal, id: paper), + class: button_classes %> + <%= link_to t('delete'), + admin_research_journal_paper_path(journal_id: paper.journal, id: paper), + method: :delete, + data: { confirm: t('please_confirm') }, + class: button_classes_danger %> + </div> + </td> + </tr> + <% end %> + </tbody> + </table> + </div> + <% end %> <% end %> </div> <div class="col-md-3"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h2 class="card-title mb-0 h5"><%= t('metadata') %></h2> - </div> - <div class="card-body"> - <h3 class="h5"><%= Research::Journal::Volume.human_attribute_name('number') %></h3> - <p><%= @volume.number %></p> - <h3 class="h5"><%= Research::Journal::Volume.human_attribute_name('published_at') %></h3> - <p><%= l @volume.published_at.to_time, format: :date_with_explicit_month if @volume.published_at %></p> - </div> - </div> + <%= osuny_panel t('metadata') do %> + <%= osuny_label Research::Journal::Volume.human_attribute_name('number') %> + <p><%= @volume.number %></p> + <%= osuny_label Research::Journal::Volume.human_attribute_name('published_at') %> + <p><%= l @volume.published_at.to_time, format: :date_with_explicit_month if @volume.published_at %></p> + <% end %> <%= render 'admin/application/featured_image/show', about: @volume %> <%= render 'admin/application/meta_description/show', about: @volume %> </div> diff --git a/app/views/admin/research/laboratories/_form.html.erb b/app/views/admin/research/laboratories/_form.html.erb index c1b127b75f163448250d88ed769792be3c7e0db7..8270d310c83714d484892f0f48bf641ffefccd1c 100644 --- a/app/views/admin/research/laboratories/_form.html.erb +++ b/app/views/admin/research/laboratories/_form.html.erb @@ -4,15 +4,11 @@ <div class="row"> <div class="col-md-6"> - <div class="card flex-fill w-100"> - <div class="card-body"> - <%= f.input :name %> - <%= f.input :address %> - <%= f.input :zipcode %> - <%= f.input :city %> - <%= f.input :country, input_html: { class: 'form-select' } %> - </div> - </div> + <%= f.input :name %> + <%= f.input :address %> + <%= f.input :zipcode %> + <%= f.input :city %> + <%= f.input :country, input_html: { class: 'form-select' } %> </div> </div> <% content_for :action_bar_right do %> diff --git a/app/views/admin/research/laboratories/axes/_form.html.erb b/app/views/admin/research/laboratories/axes/_form.html.erb index c4d484522cbedc5a595729513443a263f473fa55..66c1f0851138b5ca6b446219562fb1ad71f4cc75 100644 --- a/app/views/admin/research/laboratories/axes/_form.html.erb +++ b/app/views/admin/research/laboratories/axes/_form.html.erb @@ -4,12 +4,8 @@ <div class="row"> <div class="col-md-8"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('content') %></h5> - </div> - <div class="card-body"> - <div class="row"> + <%= osuny_panel t('content') do %> + <div class="row pure__row--small"> <div class="col-lg-8 col-xxl-9"> <%= f.input :name %> </div> @@ -18,8 +14,7 @@ </div> </div> <%= f.input :text, as: :summernote %> - </div> - </div> + <% end %> </div> <div class="col-md-4"> <%= render 'admin/application/meta_description/form', f: f, about: axis %> diff --git a/app/views/admin/research/laboratories/axes/_list.html.erb b/app/views/admin/research/laboratories/axes/_list.html.erb index 551a5fba4639756867af50e6e8344e71ffe1e403..62dec193111ca105a30deec9489b7ffd7399190d 100644 --- a/app/views/admin/research/laboratories/axes/_list.html.erb +++ b/app/views/admin/research/laboratories/axes/_list.html.erb @@ -5,7 +5,7 @@ <% if can? :reorder, Research::Laboratory::Axis %> <th width="20" class="ps-0"> </th> <% end %> - <th><%= Research::Laboratory::Axis.model_name.human %></th> + <th><%= Research::Laboratory::Axis.human_attribute_name('name') %></th> <th><%= Research::Laboratory::Axis.human_attribute_name('short_name') %></th> <th></th> </tr> diff --git a/app/views/admin/research/laboratories/axes/show.html.erb b/app/views/admin/research/laboratories/axes/show.html.erb index a937db7ca0dcf7160fc9a4172eec2f1317acfd87..e0691afb6c498430efe9c1515bd44e99d6841459 100644 --- a/app/views/admin/research/laboratories/axes/show.html.erb +++ b/app/views/admin/research/laboratories/axes/show.html.erb @@ -2,19 +2,14 @@ <div class="row"> <div class="col-md-8"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h2 class="card-title mb-0 h5"><%= t('content') %></h2> - </div> - <div class="card-body"> - <% unless @axis.short_name.empty? %> - <h3 class="h5"><%= Research::Laboratory::Axis.human_attribute_name('short_name') %></h3> - <%= @axis.short_name %> - <% end %> - <h3 class="h5 mt-4"><%= Research::Laboratory::Axis.human_attribute_name('text') %></h3> - <%= @axis.text %> - </div> - </div> + <%= osuny_panel t('content') do %> + <% unless @axis.short_name.empty? %> + <%= osuny_label Research::Laboratory::Axis.human_attribute_name('short_name') %> + <p><%= @axis.short_name %></p> + <% end %> + <%= osuny_label Research::Laboratory::Axis.human_attribute_name('text') %> + <%= sanitize @axis.text.to_s %> + <% end %> </div> <div class="col-md-4"> <%= render 'admin/application/meta_description/show', about: @axis %> diff --git a/app/views/admin/research/laboratories/show.html.erb b/app/views/admin/research/laboratories/show.html.erb index e9f522a018cd2b13b2c5a74691d91f2278cec996..388c3b317efdba127399f8bd591f459f87e66e97 100644 --- a/app/views/admin/research/laboratories/show.html.erb +++ b/app/views/admin/research/laboratories/show.html.erb @@ -1,18 +1,15 @@ <% content_for :title, @laboratory %> -<div class="card mt-5"> - <div class="card-header"> - <div class="float-end"> - <%= link_to t('create'), - new_admin_research_laboratory_axis_path(laboratory_id: @laboratory), - class: button_classes %> - </div> - <h2 class="card-title"> - <%= link_to Research::Laboratory::Axis.model_name.human(count: 2), - admin_research_laboratory_axes_path(laboratory_id: @laboratory) %></h2> - </div> +<% +action = link_to t('create'), + new_admin_research_laboratory_axis_path(laboratory_id: @laboratory), + class: button_classes +subtitle = link_to t('communication.website.see_all', number: @axes.count), + admin_research_laboratory_axes_path(laboratory_id: @laboratory) +%> +<%= osuny_panel Research::Laboratory::Axis.model_name.human(count: 2), action: action, subtitle: subtitle do %> <%= render 'admin/research/laboratories/axes/list', axes: @axes %> -</div> +<% end %> <% content_for :action_bar_left do %> <%= destroy_link @laboratory %> diff --git a/app/views/admin/research/theses/_form.html.erb b/app/views/admin/research/theses/_form.html.erb index 977be86af39a123e4015ccbc15638212c7af8907..87696eaf076bb99812ca9e57ca9d4df99bb9ffb1 100644 --- a/app/views/admin/research/theses/_form.html.erb +++ b/app/views/admin/research/theses/_form.html.erb @@ -3,22 +3,20 @@ <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %> <div class="row"> - <div class="col-md-6"> - <div class="card flex-fill w-100"> - <div class="card-body"> - <%= f.input :title %> - <%= f.input :abstract %> - <%= f.input :started_at, html5: true %> - <%= f.input :completed %> - <%= f.input :completed_at, html5: true %> - <%= f.association :laboratory, - collection: current_university.research_laboratories.ordered %> - <%= f.association :author, - collection: current_university.people.researchers.ordered %> - <%= f.association :director, - collection: current_university.people.researchers.ordered %> - </div> - </div> + <div class="col-xl-6"> + <%= f.input :title %> + <%= f.input :abstract, input_html: { rows: 10 } %> + </div> + <div class="col-xl-6"> + <%= f.input :started_at, html5: true %> + <%= f.input :completed %> + <%= f.input :completed_at, html5: true %> + <%= f.association :laboratory, + collection: current_university.research_laboratories.ordered %> + <%= f.association :author, + collection: current_university.people.researchers.ordered %> + <%= f.association :director, + collection: current_university.people.researchers.ordered %> </div> </div> <% content_for :action_bar_right do %> diff --git a/app/views/admin/research/theses/_list.html.erb b/app/views/admin/research/theses/_list.html.erb new file mode 100644 index 0000000000000000000000000000000000000000..a5c1e120521356288ea377f2278ba8c39e881579 --- /dev/null +++ b/app/views/admin/research/theses/_list.html.erb @@ -0,0 +1,26 @@ +<div class="table-responsive"> + <table class="<%= table_classes %>"> + <thead> + <tr> + <th><%= Research::Thesis.human_attribute_name('title') %></th> + <th><%= Research::Thesis.human_attribute_name('laboratory') %></th> + <th></th> + </tr> + </thead> + <tbody> + <% @theses.each do |thesis| %> + <tr> + <td><%= link_to thesis, [:admin, thesis] %></td> + <td><%= link_to thesis.laboratory, [:admin, thesis.laboratory] %></td> + <td class="text-end"> + <div class="btn-group" role="group"> + <%= edit_link thesis %> + <%= destroy_link thesis %> + </div> + </td> + </tr> + <% end %> + </tbody> + </table> +</div> +<%= paginate @theses, theme: 'bootstrap-5' %> \ No newline at end of file diff --git a/app/views/admin/research/theses/index.html.erb b/app/views/admin/research/theses/index.html.erb index 916c3fc1cc40c8b0c1bcaadd7c8864283040c032..4e5897a2246bf316d93696d14e8ed78e33a0424e 100644 --- a/app/views/admin/research/theses/index.html.erb +++ b/app/views/admin/research/theses/index.html.erb @@ -1,34 +1,7 @@ <% content_for :title, Research::Thesis.model_name.human(count: 2) %> <%= render 'filters', current_path: admin_research_theses_path, filters: @filters if @filters.any? %> - -<div class="table-responsive"> - <table class="<%= table_classes %>"> - <thead> - <tr> - <th><%= Research::Thesis.human_attribute_name('title') %></th> - <th></th> - </tr> - </thead> - - <tbody> - <% @theses.each do |thesis| %> - <tr> - <td><%= link_to thesis, [:admin, thesis] %></td> - <td class="text-end"> - <div class="btn-group" role="group"> - <%= edit_link thesis %> - <%= destroy_link thesis %> - </div> - </td> - </tr> - <% end %> - </tbody> - </table> -</div> - -<%= paginate @theses, theme: 'bootstrap-5' %> - +<%= render 'admin/research/theses/list', theses: @theses %> <% content_for :action_bar_right do %> <%= create_link Research::Thesis %> diff --git a/app/views/admin/research/theses/show.html.erb b/app/views/admin/research/theses/show.html.erb index 53a07b0ea2da6f9bca5fa0bea6bc12d0530823dc..9ed9ecdedc67e48982d7c7f341fc09858b6a2faa 100644 --- a/app/views/admin/research/theses/show.html.erb +++ b/app/views/admin/research/theses/show.html.erb @@ -1,5 +1,29 @@ <% content_for :title, @thesis %> +<div class="row"> + <div class="col-xl-6"> + <%= simple_format @thesis.abstract %> + </div> + <div class="col-xl-6"> + <% if @thesis.started_at %> + <%= osuny_label Research::Thesis.human_attribute_name('started_at') %> + <p><%= l @thesis.started_at %></p> + <% end %> + <%= osuny_label Research::Thesis.human_attribute_name('completed') %> + <p><%= t @thesis.completed %></p> + <% if @thesis.completed_at %> + <%= osuny_label Research::Thesis.human_attribute_name('completed_at') %> + <p><%= l @thesis.completed_at %></p> + <% end %> + <%= osuny_label Research::Thesis.human_attribute_name('author') %> + <p><%= link_to @thesis.author, [:admin, @thesis.author] %></p> + <%= osuny_label Research::Thesis.human_attribute_name('laboratory') %> + <p><%= link_to @thesis.laboratory, [:admin, @thesis.laboratory] %></p> + <%= osuny_label Research::Thesis.human_attribute_name('director') %> + <p><%= link_to @thesis.director, [:admin, @thesis.director] %></p> + </div> +</div> + <% content_for :action_bar_left do %> <%= destroy_link @thesis %> <% end %>