= render 'pages_cms/admin/shared/tabs', active: 'AdminPanel'
= javascript_include_tag 'pages_cms/sortable.js'
%div.container-fluid
%div.row.back
%div.col-md-6
%div.space-bottom
%h3 Pages
= link_to 'New Page', admin_pages_path(page: {title: "my page #{PagesCms::Page.last.id.to_i+1 if PagesCms::Page.last }"}), method: :post, class: 'btn btn-default'
= params[:sortable] == 'on' ? link_to('Done Sorting', admin_pages_path, class: 'btn btn-default') : link_to('Sort', admin_pages_path(sortable: 'on'),class: 'btn btn-default')
%hr
- if params[:sortable] == 'on'
%ul.sortable.list-table
- @pages.each do |page|
%li.iterate{ id: "#{page.id}" }
%h4
%span.glyphicon.glyphicon-menu-hamburger
= page.title
= hidden_field_tag 'block-order'
- else
%ul.list-table
- @pages.each do |page|
%li
%h4
%a{ href: ".collapse#{page.id}", class: 'drop-link', data: { toggle: 'collapse' }, aria: { expanded: 'false', controls: "collapse#{page.id}" } }
- if page.children.exists?
%span.glyphicon.glyphicon-menu-down
- else
%span.glyphicon.glyphicon-menu-right
= page.title
%div.links
- if page.draft
%span.glyphicon.glyphicon-ban-circle{ title: 'this page is a draft'}
= link_to raw(''), edit_admin_page_path(page)
= link_to raw(''), slugged_path(page)
= link_to raw(''), admin_page_path(page), method: :delete
- parent = page
- indent = 20
- if page.children.exists?
%div{ class: "collapse#{page.id} collapse" }
- loop do
- if parent.children.exists?
- parent.children.each do |subpage|
%div.items
%span.glyphicon.glyphicon-minus{ style: "margin-left: #{indent}px" }
= subpage.title
%div.links
- if page.draft
%span.glyphicon.glyphicon-ban-circle{ title: 'this page is a draft'}
= link_to raw(''), edit_admin_page_path(subpage)
= link_to raw(''), slugged_path(subpage)
= link_to raw(''), admin_page_path(subpage), method: :delete
- parent = subpage
- indent += 20
- else
- break
%div.col-md-6
%div.space-bottom
%h3 New Contacts
%table.table
- PagesCms::Contact.all.reverse_order.limit(5).each do |contact|
%tr
%td
= link_to contact.name, admin_contacts_path
%td
%small
= contact.email
%td
%small
= truncate(contact.message, length: 30)
%div.space-bottom
%h3 New Articles
%table.table
- PagesCms::Article.all.reverse_order.limit(5).each do |article|
%tr
%td
= link_to article.title, admin_articles_path
%td
%small
- article.tags.each do |tag|
= tag
%td
%small
= truncate(strip_tags(article.content_either), length: 30)
%div.space-bottom
%h3 Accounts
%table.table
- PagesCms::Account.all.each do |account|
%tr
%td
= account.name
%td
= account.mount_location
%td
= link_to 'Switch To', admin_accounts_site_path(account: account.id), method: :post, class: 'btn btn-xs btn-primary'
:javascript
$( document ).ready(function() {
$('.sortable').sortable();
$('.sortable').sortable().bind('sortupdate', function() {
var data = [];
$('.iterate').each(function(i){ data.push($(this).attr('id')) });
$.ajax({
type: 'POST',
url: '/admin/pages/order',
data: { order: { data } },
success: console.log('data: ' + data)
});
});
});