Add title to CodeOcean pages

This commit is contained in:
Sebastian Serth
2020-05-05 16:51:47 +02:00
parent 7f27ed43e8
commit 921eb1a464
3 changed files with 36 additions and 22 deletions

View File

@@ -1,20 +0,0 @@
- if current_user.try(:admin?) or current_user.try(:teacher?)
.container
ul.breadcrumb
- if model = Kernel.const_get(controller_path.classify) rescue nil
- object = model.find_by(id: params[:id])
- if model.try(:nested_resource?)
li.breadcrumb-item = model.model_name.human(count: 2)
- if object
li.breadcrumb-item = object
- else
li.breadcrumb-item = link_to_if(policy(model).index?, model.model_name.human(count: 2), send(:"#{model.model_name.collection}_path"))
- if object
li.breadcrumb-item = link_to_if(policy(object).show?, object, send(:"#{model.model_name.singular}_path", object))
li.breadcrumb-item.active
- if I18n.translation_present?("shared.#{params[:action]}")
= t("shared.#{params[:action]}")
- else
= t("#{controller_name}.index.#{params[:action]}")
- else
li.breadcrumb-item.active = t("breadcrumbs.#{controller_name}.#{params[:action]}")

View File

@@ -0,0 +1,32 @@
- if model = Kernel.const_get(controller_path.classify) rescue nil
- object = model.find_by(id: params[:id])
- if model.try(:nested_resource?)
- root_element = model.model_name.human(count: 2)
- if object
- current_element = object
- else
- root_element = link_to_if(policy(model).index?, model.model_name.human(count: 2), send(:"#{model.model_name.collection}_path"))
- if object
- current_element = link_to_if(policy(object).show?, object, send(:"#{model.model_name.singular}_path", object))
- if I18n.translation_present?("shared.#{params[:action]}")
- active_action = t("shared.#{params[:action]}")
- else
- active_action = t("#{controller_name}.index.#{params[:action]}")
- else
- active_action = t("breadcrumbs.#{controller_name}.#{params[:action]}")
- title = "#{active_action} - #{application_name}"
- content_for :breadcrumbs do
- if current_user.try(:admin?) or current_user.try(:teacher?) && !@embed_options[:hide_navbar]
.container
ul.breadcrumb
- if root_element.present?
li.breadcrumb-item = root_element
- if current_element.present?
li.breadcrumb-item = current_element
- title = "#{object} - #{title}"
- else
- title = "#{model.model_name.human(count: 2)} - #{title}"
li.breadcrumb-item.active = active_action
- content_for :title, title