diff --git a/app/controllers/admin/courses_controller.rb b/app/controllers/admin/courses_controller.rb index d7e20bf..0c3fbd9 100644 --- a/app/controllers/admin/courses_controller.rb +++ b/app/controllers/admin/courses_controller.rb @@ -13,7 +13,9 @@ module Admin # GET /admin/courses/1 # GET /admin/courses/1.json - def show; end + def show + @weeks = @course.weeks + end # GET /admin/courses/new def new @@ -76,7 +78,7 @@ module Admin end def collection - @courses = Course.by_name + @courses = Course.name_asc end # Never trust parameters from the scary internet, only allow the white list through. diff --git a/app/helpers/sidemenu_helper.rb b/app/helpers/sidemenu_helper.rb index 3a876ad..c2be558 100644 --- a/app/helpers/sidemenu_helper.rb +++ b/app/helpers/sidemenu_helper.rb @@ -46,7 +46,7 @@ module SidemenuHelper link_to(raw("#{icon_text}#{I18n.t(text)}"), link, class: "nav-link#{expand ? '' : ' collapsed'}", data: { toggle: 'collapse', target: "#collapse#{name}" }, - aria: { expanded: "#{expand}", controls: "collapse#{name}" }) + aria: { expanded: expand.to_s, controls: "collapse#{name}" }) end end @@ -61,13 +61,12 @@ module SidemenuHelper def nav_link_submenu(a_name, submenu, for_active) content_tag :li, class: 'nav-item' do expand = check_link_active(for_active) - r = nav_link_to(a_name[0], a_name[1], '#', a_name[2], expand) - r += content_tag(:div, inner_submenu(submenu), + concat nav_link_to(a_name[0], a_name[1], '#', a_name[2], expand) + concat content_tag(:div, inner_submenu(submenu), id: "collapse#{a_name[2]}", class: "collapse#{expand ? ' show' : ''}", aria: { labelledby: "heading#{a_name[2]}" }, data: { parent: '#accordionSidebar' }) - r end end @@ -78,12 +77,9 @@ module SidemenuHelper # -> 'String' - to add header to menu def inner_submenu(submenu) content_tag :div, class: 'bg-white py-2 collapse-inner rounded' do - r = nil submenu.each do |sub| - r += submenu_element(sub) unless r.nil? - r = submenu_element(sub) if r.nil? + concat submenu_element(sub) end - r end end diff --git a/app/helpers/views_helper.rb b/app/helpers/views_helper.rb new file mode 100644 index 0000000..d1ccff1 --- /dev/null +++ b/app/helpers/views_helper.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +# Helper for views +module ViewsHelper + def dropdown_link(name, menu_links) + content_tag(:div, class: 'dropdown no-arrow') do + concat link_for('#', name) + end + end + + def link_for(href, text) + + end + +=begin +
| Nazwa | -Opis | -Akcje | -
|---|
| <%= link_to course.name, [:admin, course] %> | -<%= course.description %> | -- <%= link_to raw(''), edit_admin_course_path(course), { remote: true, class: 'btn btn-sm btn-info', title: t('edit') } %> - <%= link_to raw(''), [:admin, course], { remote: true, class: 'btn btn-sm btn-danger', method: :delete, data:{ confirm: t('confirm_delete') }, title: t('delete')} %> - | +Nazwa | +Opis | +Akcje |
|---|
<%= @course.description %>
- +<%= render partial: '/admin/weeks/partials/index' %> <%= link_to 'Back', admin_courses_path %> diff --git a/app/views/admin/shared/_norecords.html.erb b/app/views/admin/shared/_norecords.html.erb new file mode 100644 index 0000000..3b6bc56 --- /dev/null +++ b/app/views/admin/shared/_norecords.html.erb @@ -0,0 +1,4 @@ +Nie znaleziono żadnych elementów do wyświetlenia.
+Tutaj jakiś opis.
+<%= notice %>
+<%= render partial: '/admin/weeks/partials/index' %> diff --git a/app/views/admin/weeks/index.json.jbuilder b/app/views/admin/weeks/index.json.jbuilder new file mode 100644 index 0000000..2ad966f --- /dev/null +++ b/app/views/admin/weeks/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @weeks, partial: '/admin/weeks/partials/admin_week', as: :week diff --git a/app/views/admin/weeks/new.html.erb b/app/views/admin/weeks/new.html.erb new file mode 100644 index 0000000..a17d87e --- /dev/null +++ b/app/views/admin/weeks/new.html.erb @@ -0,0 +1 @@ +<%= render partial: '/admin/weeks/partials/form' %> diff --git a/app/views/admin/weeks/new.js.erb b/app/views/admin/weeks/new.js.erb new file mode 100644 index 0000000..2422ba5 --- /dev/null +++ b/app/views/admin/weeks/new.js.erb @@ -0,0 +1,2 @@ +$("#ajax_form").html("<%= escape_javascript(render('admin/weeks/partials/new')) %>"); +$("#ajax_form").slideDown(); diff --git a/app/views/admin/weeks/partials/_admin_week.json.jbuilder b/app/views/admin/weeks/partials/_admin_week.json.jbuilder new file mode 100644 index 0000000..c7b465c --- /dev/null +++ b/app/views/admin/weeks/partials/_admin_week.json.jbuilder @@ -0,0 +1,2 @@ +json.extract! week, :id, :name, :description, :created_at, :updated_at +json.url admin_week_url(week, format: :json) diff --git a/app/views/admin/weeks/partials/_edit.html.erb b/app/views/admin/weeks/partials/_edit.html.erb new file mode 100644 index 0000000..2c15a70 --- /dev/null +++ b/app/views/admin/weeks/partials/_edit.html.erb @@ -0,0 +1,13 @@ +| Nazwa | +Opis | +Akcje | +
|---|---|---|
| <%= link_to week.name, [:admin, week] %> | +<%= week.description %> | ++ <%= link_to raw(''), edit_admin_week_path(week), { remote: true, class: 'btn btn-sm btn-info', title: t('edit') } %> + <%= link_to raw(''), [:admin, week], { remote: true, class: 'btn btn-sm btn-danger', method: :delete, data:{ confirm: t('confirm_delete') }, title: t('delete')} %> + | +
<%= @week.description %>
+ + + +<%= link_to 'Back', admin_weeks_path %> diff --git a/app/views/admin/weeks/show.json.jbuilder b/app/views/admin/weeks/show.json.jbuilder new file mode 100644 index 0000000..bb8ffb1 --- /dev/null +++ b/app/views/admin/weeks/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "/admin/weeks/partials/admin_week", week: @week diff --git a/app/views/admin/weeks/update.js.erb b/app/views/admin/weeks/update.js.erb new file mode 100644 index 0000000..d84f1b2 --- /dev/null +++ b/app/views/admin/weeks/update.js.erb @@ -0,0 +1,2 @@ +$('#ajax_form').slideUp(); +$('#ajax_list').html("<%= escape_javascript(render('/admin/weeks/partials/weeks')) %>"); diff --git a/config/routes.rb b/config/routes.rb index 0ec8d75..78f1f11 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,11 +1,10 @@ Rails.application.routes.draw do - namespace :admin do - resources :courses - end get 'tests/index' get 'tests/test' namespace :admin do resources :users + resources :courses + resources :weeks end devise_for :users get 'home/index'