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 + +=end +end diff --git a/app/views/admin/courses/partials/_courses.html.erb b/app/views/admin/courses/partials/_courses.html.erb index 5199ec9..a8c922e 100644 --- a/app/views/admin/courses/partials/_courses.html.erb +++ b/app/views/admin/courses/partials/_courses.html.erb @@ -1,21 +1,25 @@ - - - - - - - - - - <% @courses.each do |course| %> +<% if @courses.blank? %> + <%= render partial: '/admin/shared/norecords' %> +<% else %> +
NazwaOpisAkcje
+ - - - + + + - <% end %> - -
<%= 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')} %> - NazwaOpisAkcje
+ + + <% @courses.each do |course| %> + + <%= 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')} %> + + + <% end %> + + +<% end %> diff --git a/app/views/admin/courses/show.html.erb b/app/views/admin/courses/show.html.erb index 27cc5fa..5a4b713 100644 --- a/app/views/admin/courses/show.html.erb +++ b/app/views/admin/courses/show.html.erb @@ -1,6 +1,6 @@

Kurs: <%= @course.name %>

<%= @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 @@ + diff --git a/app/views/admin/weeks/create.js.erb b/app/views/admin/weeks/create.js.erb new file mode 100644 index 0000000..d84f1b2 --- /dev/null +++ b/app/views/admin/weeks/create.js.erb @@ -0,0 +1,2 @@ +$('#ajax_form').slideUp(); +$('#ajax_list').html("<%= escape_javascript(render('/admin/weeks/partials/weeks')) %>"); diff --git a/app/views/admin/weeks/destroy.js.erb b/app/views/admin/weeks/destroy.js.erb new file mode 100644 index 0000000..7d5aa90 --- /dev/null +++ b/app/views/admin/weeks/destroy.js.erb @@ -0,0 +1 @@ +$('#ajax_list').html("<%= escape_javascript(render('/admin/weeks/partials/weeks')) %>"); diff --git a/app/views/admin/weeks/edit.html.erb b/app/views/admin/weeks/edit.html.erb new file mode 100644 index 0000000..4c87708 --- /dev/null +++ b/app/views/admin/weeks/edit.html.erb @@ -0,0 +1 @@ +<%= render '/admin/weeks/partials/edit' %> diff --git a/app/views/admin/weeks/edit.js.erb b/app/views/admin/weeks/edit.js.erb new file mode 100644 index 0000000..6a773c9 --- /dev/null +++ b/app/views/admin/weeks/edit.js.erb @@ -0,0 +1,2 @@ +$("#ajax_form").html("<%= escape_javascript(render('admin/weeks/partials/edit')) %>"); +$("#ajax_form").slideDown(); diff --git a/app/views/admin/weeks/index.html.erb b/app/views/admin/weeks/index.html.erb new file mode 100644 index 0000000..cd79d40 --- /dev/null +++ b/app/views/admin/weeks/index.html.erb @@ -0,0 +1,4 @@ +

Kursy

+

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 @@ +
+
+ +
+
+
Edycja Tygodnia
+
+
+ <%= render '/admin/weeks/partials/form', week: @week %> +
+
+
+
diff --git a/app/views/admin/weeks/partials/_form.html.erb b/app/views/admin/weeks/partials/_form.html.erb new file mode 100644 index 0000000..2e62bab --- /dev/null +++ b/app/views/admin/weeks/partials/_form.html.erb @@ -0,0 +1,25 @@ +<%= form_with(model: [:admin, week]) do |form| %> + <% if week.errors.any? %> +
+

<%= pluralize(week.errors.count, "error") %> prohibited this admin_week from being saved:

+ + +
+ <% end %> +
+
+ <%= form.label :name %> + <%= form.text_field :name, class: 'form-control' %> +
+ +
+ <%= form.label :description %> + <%= form.text_area :description, class: 'form-control' %> +
+
+ <%= form.submit 'Zapisz', class: 'btn btn-primary' %> +<% end %> diff --git a/app/views/admin/weeks/partials/_index.html.erb b/app/views/admin/weeks/partials/_index.html.erb new file mode 100644 index 0000000..93840f6 --- /dev/null +++ b/app/views/admin/weeks/partials/_index.html.erb @@ -0,0 +1,19 @@ +
+
+ +
+
+
Lista tygodni
+ <%= link_to raw(' Dodaj Nowy Tydzien'), new_admin_week_path, { remote: true, class: 'btn btn-sm btn-primary float-right' } %> +
+
+
+
+ <%= render partial: '/admin/weeks/partials/weeks' %> +
+
+ +
+ +
+
diff --git a/app/views/admin/weeks/partials/_new.html.erb b/app/views/admin/weeks/partials/_new.html.erb new file mode 100644 index 0000000..edfa715 --- /dev/null +++ b/app/views/admin/weeks/partials/_new.html.erb @@ -0,0 +1,13 @@ +
+
+ +
+
+
Nowy Tydzien
+
+
+ <%= render '/admin/weeks/partials/form', week: @week %> +
+
+
+
diff --git a/app/views/admin/weeks/partials/_weeks.html.erb b/app/views/admin/weeks/partials/_weeks.html.erb new file mode 100644 index 0000000..3a869f5 --- /dev/null +++ b/app/views/admin/weeks/partials/_weeks.html.erb @@ -0,0 +1,25 @@ +<% if @weeks.blank? %> + <%= render partial: '/admin/shared/norecords' %> +<% else %> + + + + + + + + + + <% @weeks.each do |week| %> + + + + + + <% end %> + +
NazwaOpisAkcje
<%= 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')} %> +
+<% end %> diff --git a/app/views/admin/weeks/show.html.erb b/app/views/admin/weeks/show.html.erb new file mode 100644 index 0000000..ec64221 --- /dev/null +++ b/app/views/admin/weeks/show.html.erb @@ -0,0 +1,6 @@ +

week: <%= @week.name %>

+

<%= @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'