Completely rework the navigation

Get rid of the admin layout
Get rid of the navbar custom style, use bootstrap-sass variables instead
Get rid of all the scaffold files
This commit is contained in:
Henne Vogelsang 2013-06-27 16:58:20 +02:00 committed by Henne Vogelsang
parent 2af8792495
commit 252e1fe544
47 changed files with 179 additions and 252 deletions

View file

@ -1,5 +1,8 @@
.well.sidebar-nav
%ul.nav.nav-list
%li.nav-header
=@conference.short_title
Settings
- if activated == "Conference"
%li.active= link_to "Conference", "#"
- else

View file

@ -4,7 +4,7 @@
</div>
</div>
<% @conferences.each do |conference| %>
<% @current.each do |conference| %>
<div class="row-fluid" style="margin-top: 30px;">
<div clas="span12">
<div class="well">

View file

@ -1,59 +0,0 @@
- if @conference.nil? || @conference.short_title.nil?
= link_to "OSEM", admin_conference_index_path, :class => 'brand'
- else
= link_to @conference.title, admin_conference_path(@conference.short_title), :class => 'brand'
- if @conference && !@conference.short_title.nil?
%ul.nav
- if current_page?(admin_conference_registrations_path(@conference.short_title))
%li.active
= link_to "Registrations", "#"
- else
%li
= link_to "Registrations", admin_conference_registrations_path(@conference.short_title)
- if current_page?(admin_conference_supporters_path(@conference.short_title))
%li.active
= link_to "Supporters", "#"
- else
%li
= link_to "Supporters", admin_conference_supporters_path(@conference.short_title)
- if current_page?(admin_conference_events_path(@conference.short_title))
%li.active
= link_to "Events", "#"
- else
%li
= link_to "Events", admin_conference_events_path(@conference.short_title)
- if current_page?(admin_conference_schedule_path(@conference.short_title))
%li.active
= link_to "Schedule", "#"
-else
%li
= link_to "Schedule ", admin_conference_schedule_path(@conference.short_title)
%ul.nav.secondary-nav.pull-right
%li
= link_to "User Area", root_url
- if !@conference.nil?
%li.dropdown
= link_to "#", :class => "dropdown-toggle", :id =>'drop1', "data-toggle" => 'dropdown' do
Export
<b class="caret"></b>
%ul.dropdown-menu{:role => 'menu', "aria-labelledby" => "drop1"}
%li= link_to "JSON", "#"
%li= link_to "HTML", "#"
%li.dropdown
- unless Conference.count == 1 && !has_role?(current_user, "admin")
= link_to "#", :class => "dropdown-toggle", :id => 'drop2', "data-toggle" => 'dropdown' do
Conferences
<b class="caret"></b>
%ul.dropdown-menu{:role => 'menu', "aria-labelledby" => "drop2"}
- conferences = Conference.order("created_at DESC")
- unless conferences.nil?
- conferences.each do |c|
- unless @conference == c
%li= link_to c.short_title, admin_conference_path(c.short_title)
- if has_role?(current_user, "admin")
%li= link_to "New Conference", new_admin_conference_path
- if has_role?(current_user, "admin")
%li= link_to "Users", admin_users_path
%li= link_to "People", admin_people_path
%li= link_to "Log out", destroy_user_session_path, :method => :delete

View file

@ -1,45 +1,122 @@
- if @conference.nil? || @conference.short_title.nil?
= link_to "OSEM", root_path, :class => 'brand'
- else
= link_to @conference.title, root_path, :class => 'brand'
%ul.nav
- if !@conference.nil? && @conference.registration_open?
- if current_page?(register_conference_path(@conference.short_title))
%li.active
= link_to "Registration", "#"
%a.btn.btn-navbar{"data-target" => ".nav-collapse", "data-toggle" => "collapse"}
%span.icon-th
= link_to "OSEM", root_path, :class => 'brand', :title => "Open Source Event Manager"
- if @conference && !@conference.short_title.nil?
%span.brand
= @conference.short_title
.nav-collapse.collapse
- if user_signed_in?
- if has_role?(current_user, "admin") || has_role?(current_user, "organizer")
- if controller.class.name.split("::").first=="Admin"
- if @conference && !@conference.short_title.nil?
%ul.nav
- if current_page?(admin_conference_path(@conference.short_title))
%li.active
= link_to('#') do
Settings
- else
%li
= link_to(admin_conference_path(@conference.short_title)) do
Settings
- if current_page?(admin_conference_registrations_path(@conference.short_title))
%li.active
= link_to('#') do
Registrations
- else
%li
= link_to(admin_conference_registrations_path(@conference.short_title)) do
Registrations
- if current_page?(admin_conference_supporters_path(@conference.short_title))
%li.active
= link_to('#') do
Supporters
- else
%li
= link_to(admin_conference_supporters_path(@conference.short_title)) do
Supporters
- if current_page?(admin_conference_events_path(@conference.short_title))
%li.active
= link_to('#') do
Events
- else
%li
= link_to(admin_conference_events_path(@conference.short_title)) do
Events
- if current_page?(admin_conference_schedule_path(@conference.short_title))
%li.active
= link_to('#') do
Schedule
-else
%li
= link_to(admin_conference_schedule_path(@conference.short_title), :target => "_blank") do
Schedule
%ul.nav.pull-right
%li.dropdown
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
= image_tag(current_user.person.gravatar_url(:size => "20"), :title => "Yo #{current_user.person.public_name}!", :class=>"visible-desktop")
%ul.dropdown-menu{:style => "padding: 15px;"}
%li
= link_to("#") do
%i.icon-home
= current_user.person.public_name if current_user.person
%li
= link_to(edit_user_registration_path) do
%i.icon-wrench
Edit Account
-if @conference and @conference.id
%li
= link_to(conference_proposal_index_path(@conference.short_title)) do
%i.icon-comment
My Submissions
%li
= link_to(destroy_user_session_path, :method=>'delete') do
%i.icon-minus
Sign out
-if has_role?(current_user, "admin") || has_role?(current_user, "organizer")
%li.divider
%h6
Manage Conferences
- @conferences.each do |conference|
%li
= link_to(admin_conference_path(conference.short_title)) do
%i.icon-cog
Manage
= conference.short_title
%li
= link_to(new_admin_conference_path) do
%i.icon-plus
New Conference
%li.divider
%h6
Manage OSEM
%li
= link_to(admin_users_path) do
%i.icon-user
Users
%li
= link_to(admin_people_path) do
%i.icon-star-empty
People
- else
%li
= link_to "Registration", register_conference_path(@conference.short_title)
- if !@conference.nil?
- if current_page?(conference_proposal_index_path(@conference.short_title))
%li.active
= link_to "My Proposals", "#"
- else
%li
= link_to "My Proposals", conference_proposal_index_path(@conference.short_title)
%ul.nav.pull-right
- if user_signed_in?
- if has_role?(current_user, "admin") || has_role?(current_user, "organizer")
%li
= link_to "Admin Area", admin_conference_index_path
%li
= link_to('Sign Out', destroy_user_session_path, :method=>'delete')
- else
%li
= link_to('Sign In', new_user_session_path)
- if user_signed_in?
%li
= link_to('Edit account', edit_user_registration_path)
%li.dropdown
- unless Conference.count == 1 && !has_role?(current_user, "admin")
= link_to "#", :class => "dropdown-toggle" do
Conferences
<b class="caret"></b>
%ul.dropdown-menu
- conferences = Conference.order("created_at DESC")
- unless conferences.nil?
- conferences.each do |c|
- unless @conference == c
%li= link_to c.short_title, admin_conference_path(c.short_title)
- if has_role?(current_user, "admin")
%li= link_to "New Conference", new_admin_conference_path
%ul.nav.pull-right
%li.dropdown.visible-desktop
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
%i.icon-user.icon-2x
Sign In
%i.icon-angle-down
.dropdown-menu{:style => "padding: 15px; padding-bottom: 0px;"}
= form_tag user_session_path do
= text_field_tag 'user[email]'
= password_field_tag 'user[password]'
%label.checkbox
= check_box_tag 'user[remember_me]'
Remember me
%button.btn.btn-block Sign in
%br
= link_to "Forgot your password?", new_password_path('user')
%li.hidden-desktop
= link_to('Sign In', new_user_session_path)

View file

@ -1,41 +0,0 @@
!!!
%html
%head
%meta{:charset => "utf-8"}
%meta{:name => "viewport", :content => "width=device-width, initial-scale=1, maximum-scale=1"}
%title= content_for?(:title) ? yield(:title) : "Admin"
%meta{:content => "", :name => "description"}
%meta{:content => "", :name => "author"}
= stylesheet_link_tag "application"
= javascript_include_tag "application"
= csrf_meta_tags
= yield(:head)
%body
#wrap
.navbar.navbar-fixed-top
.navbar-inner
.container-fluid
= render 'layouts/admin_navigation'
.container#messages
.row
.span12
= render 'layouts/messages'
%noscript
:css
#content {
display: none;
}
%h2
JavaScript is not enabled
%p
OSEM requires JavaScript to be enabled to function. Please turn on JavaScript in your browser's settings and reload the page to continue.
.container#content
= yield
#push
#footer
.container
%p.muted.credit.text-center
OSEM is (C) 2013
= link_to "Matt Barringer", "http://incoherent.de"
and released under the GPL. You can get the source code from
= link_to "Github.", "https://github.com/mbarringer/osem"

View file

@ -32,6 +32,7 @@
.container#content
= yield
#push
#footer
.container
%p.muted.credit.text-center

View file

@ -90,4 +90,26 @@
}
});
});
$(function() {
// add a hash to the URL when the user clicks on a tab
$('a[data-toggle="tab"]').on('click', function(e) {
history.pushState(null, null, $(this).attr('href'));
});
// navigate to a tab when the history changes
window.addEventListener("popstate", function(e) {
var activeTab = $('[href=' + location.hash + ']');
if (activeTab.length) {
activeTab.tab('show');
} else {
$('.nav-tabs a:first').tab('show');
}
});
});
$(function() {
var hash = window.location.hash;
hash && $('ul.nav a[href="' + hash + '"]').tab('show');
});
<% end %>